summaryrefslogtreecommitdiff
path: root/fs/9p/fid.c
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-08-04 20:27:45 +0400
committerEric Van Hensbergen <ericvh@gmail.com>2010-08-30 19:35:28 +0400
commit8f587df479c3cea14ba1a9b9d58f34fd2fd6d58b (patch)
tree5c01cd8b1fa9ecea9af268890d39a49b017a8631 /fs/9p/fid.c
parent2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff)
downloadlinux-8f587df479c3cea14ba1a9b9d58f34fd2fd6d58b.tar.xz
9p: potential ERR_PTR() dereference
p9_client_walk() can return error values if we run out of space or there is a problem with the network. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/fid.c')
-rw-r--r--fs/9p/fid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/9p/fid.c b/fs/9p/fid.c
index 358563689064..6406f896bf95 100644
--- a/fs/9p/fid.c
+++ b/fs/9p/fid.c
@@ -242,7 +242,8 @@ struct p9_fid *v9fs_fid_lookup(struct dentry *dentry)
}
kfree(wnames);
fid_out:
- v9fs_fid_add(dentry, fid);
+ if (!IS_ERR(fid))
+ v9fs_fid_add(dentry, fid);
err_out:
up_read(&v9ses->rename_sem);
return fid;