Messages in this thread Patch in this message | | | From | Alexey Khoroshilov <> | Subject | [PATCH] exofs: check for allocation failure in uri_store() | Date | Wed, 8 Aug 2012 21:02:37 +0400 |
| |
There is no memory allocation failure check in uri_store(). That can lead to NULL pointer dereference.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> --- fs/exofs/sys.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/exofs/sys.c b/fs/exofs/sys.c index 5a7b691..1b4f2f9 100644 --- a/fs/exofs/sys.c +++ b/fs/exofs/sys.c @@ -80,8 +80,13 @@ static ssize_t uri_show(struct exofs_dev *edp, char *buf) static ssize_t uri_store(struct exofs_dev *edp, const char *buf, size_t len) { + uint8_t *new_uri; + edp->urilen = strlen(buf) + 1; - edp->uri = krealloc(edp->uri, edp->urilen, GFP_KERNEL); + new_uri = krealloc(edp->uri, edp->urilen, GFP_KERNEL); + if (new_uri == NULL) + return -ENOMEM; + edp->uri = new_uri; strncpy(edp->uri, buf, edp->urilen); return edp->urilen; } -- 1.7.9.5
| |