exofs: check for allocation failure in uri_store()

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>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
This commit is contained in:
Alexey Khoroshilov 2012-08-08 21:02:37 +04:00 committed by Boaz Harrosh
parent 0d7614f09c
commit b8017d2957
1 changed files with 6 additions and 1 deletions

View File

@ -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;
}