Messages in this thread Patch in this message | | | From | "Duane Griffin" <> | Subject | [PATCH] sysv: ensure fast symlinks are NUL-terminated | Date | Tue, 16 Dec 2008 15:51:59 +0000 |
| |
Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk.
Cc: Christoph Hellwig <hch@infradead.org> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Duane Griffin <duaneg@dghda.com> --- fs/sysv/inode.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c index df0d435..c93189d 100644 --- a/fs/sysv/inode.c +++ b/fs/sysv/inode.c @@ -27,6 +27,7 @@ #include <linux/init.h> #include <linux/buffer_head.h> #include <linux/vfs.h> +#include <linux/namei.h> #include <asm/byteorder.h> #include "sysv.h" @@ -163,8 +164,11 @@ void sysv_set_inode(struct inode *inode, dev_t rdev) if (inode->i_blocks) { inode->i_op = &sysv_symlink_inode_operations; inode->i_mapping->a_ops = &sysv_aops; - } else + } else { inode->i_op = &sysv_fast_symlink_inode_operations; + nd_terminate_link(SYSV_I(inode)->i_data, inode->i_size, + sizeof(SYSV_I(inode)->i_data)); + } } else init_special_inode(inode, inode->i_mode, rdev); } -- 1.6.0.4
| |