summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLatchesar Ionkov <lucho@ionkov.net>2005-09-22 21:43:52 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-22 22:17:33 -0700
commita1f9d8d23fef301ba0c0b4983e0aa947168e1c37 (patch)
treec8927b500a1b93aed027776b88bc6a1e8664c5fa
parenta8e63bff521f0387fb4f4e486dede0e78dca8f41 (diff)
downloadlinux-stable-a1f9d8d23fef301ba0c0b4983e0aa947168e1c37.tar.gz
linux-stable-a1f9d8d23fef301ba0c0b4983e0aa947168e1c37.tar.bz2
linux-stable-a1f9d8d23fef301ba0c0b4983e0aa947168e1c37.zip
[PATCH] v9fs: replace strlen on newly allocated by __getname buffers to PATH_MAX
v9fs_vfs_readlink allocates space for the link using __getname and errorneously uses strlen on the newly allocated buffer to check if the buffer passed by the user is bigger than the one returned by __getname. The patch replaces the strlen usage to PATH_MAX, which is the actual size of the buffers returned by __getname. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Cc: Eric Van Hensbergen <ericvh@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/9p/vfs_inode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 0c13fc600049..b16322db5ce6 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -1063,8 +1063,8 @@ static int v9fs_vfs_readlink(struct dentry *dentry, char __user * buffer,
int ret;
char *link = __getname();
- if (strlen(link) < buflen)
- buflen = strlen(link);
+ if (buflen > PATH_MAX)
+ buflen = PATH_MAX;
dprintk(DEBUG_VFS, " dentry: %s (%p)\n", dentry->d_iname, dentry);