summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2011-08-26 19:55:59 +0300
committerEric Van Hensbergen <ericvh@gmail.com>2011-10-24 11:13:11 -0500
commit5635fd0ccf4ce90a9ecf8fa48f5f031f5f73e6f5 (patch)
treea6a7320929b5e9bc08c5bf9b9f1623c9bc576016
parent464f5ecf00bb4513ba257520678f5168452f67ba (diff)
downloadlinux-3.10-5635fd0ccf4ce90a9ecf8fa48f5f031f5f73e6f5.tar.gz
linux-3.10-5635fd0ccf4ce90a9ecf8fa48f5f031f5f73e6f5.tar.bz2
linux-3.10-5635fd0ccf4ce90a9ecf8fa48f5f031f5f73e6f5.zip
9p: move dereference after NULL check
We dereferenced "req->tc" and "req->rc" before checking for NULL. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
-rw-r--r--net/9p/client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/9p/client.c b/net/9p/client.c
index 305a4e719b0..9eadadb0a69 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -248,10 +248,8 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag, int max_size)
init_waitqueue_head(req->wq);
req->tc = kmalloc(sizeof(struct p9_fcall) + alloc_msize,
GFP_NOFS);
- req->tc->capacity = alloc_msize;
req->rc = kmalloc(sizeof(struct p9_fcall) + alloc_msize,
GFP_NOFS);
- req->rc->capacity = alloc_msize;
if ((!req->tc) || (!req->rc)) {
printk(KERN_ERR "Couldn't grow tag array\n");
kfree(req->tc);
@@ -261,6 +259,8 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag, int max_size)
req->wq = NULL;
return ERR_PTR(-ENOMEM);
}
+ req->tc->capacity = alloc_msize;
+ req->rc->capacity = alloc_msize;
req->tc->sdata = (char *) req->tc + sizeof(struct p9_fcall);
req->rc->sdata = (char *) req->rc + sizeof(struct p9_fcall);
}