diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-11-12 10:59:04 +1100 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-11-12 10:59:04 +1100 |
| commit | 0526484aa345adbf790d1201a6f5d09be0a648a3 (patch) | |
| tree | 8da37ac2858a960e80dc59ebc4afc460935724f4 /fs/9p/vfs_inode.c | |
| parent | e0ea8b2c0677e6cc44a0e5b867be48867f91de5b (diff) | |
| parent | aa021baa3295fa6e3f367d80f8955dd5176656eb (diff) | |
Merge commit 'origin/master' into next
Diffstat (limited to 'fs/9p/vfs_inode.c')
| -rw-r--r-- | fs/9p/vfs_inode.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 5947628aefe..18f74ec4dce 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -994,8 +994,7 @@ static int v9fs_readlink(struct dentry *dentry, char *buffer, int buflen) P9_DPRINTK(P9_DEBUG_VFS, "%s -> %s (%s)\n", dentry->d_name.name, st->extension, buffer); - retval = buflen; - + retval = strnlen(buffer, buflen); done: kfree(st); return retval; @@ -1062,7 +1061,7 @@ static void *v9fs_vfs_follow_link(struct dentry *dentry, struct nameidata *nd) __putname(link); link = ERR_PTR(len); } else - link[len] = 0; + link[min(len, PATH_MAX-1)] = 0; } nd_set_link(nd, link); |
