forked from Minki/linux
[PATCH] 9pfs: missing result check in v9fs_vfs_readlink() and v9fs_vfs_link()
__getname() may fail and return NULL (as pointed out by Coverity 437 & 1220). Signed-off-by: Florin Malita <fmalita@gmail.com> Acked-by: Eric Van Hensbergen <ericvh@gmail.com> Cc: <rminnich@lanl.gov> Cc: Latchesar Ionkov <lucho@ionkov.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
eab03ac7bd
commit
0710d36a0f
@ -1054,6 +1054,9 @@ static int v9fs_vfs_readlink(struct dentry *dentry, char __user * buffer,
|
|||||||
int ret;
|
int ret;
|
||||||
char *link = __getname();
|
char *link = __getname();
|
||||||
|
|
||||||
|
if (unlikely(!link))
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
if (buflen > PATH_MAX)
|
if (buflen > PATH_MAX)
|
||||||
buflen = PATH_MAX;
|
buflen = PATH_MAX;
|
||||||
|
|
||||||
@ -1227,6 +1230,9 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
|
|||||||
}
|
}
|
||||||
|
|
||||||
name = __getname();
|
name = __getname();
|
||||||
|
if (unlikely(!name))
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
sprintf(name, "%d\n", oldfid->fid);
|
sprintf(name, "%d\n", oldfid->fid);
|
||||||
retval = v9fs_vfs_mkspecial(dir, dentry, V9FS_DMLINK, name);
|
retval = v9fs_vfs_mkspecial(dir, dentry, V9FS_DMLINK, name);
|
||||||
__putname(name);
|
__putname(name);
|
||||||
|
Loading…
Reference in New Issue
Block a user