Message ID | 1229022995-9898-5-git-send-email-duaneg@dghda.com |
---|---|
State | Not Applicable, archived |
Headers | show |
On Thu, Dec 11, 2008 at 07:16:28PM +0000, Duane Griffin wrote: > Ensure link targets are NULL-terminated, even if corrupted on-disk. FWIW, that's spelled 'NUL' -- NULL is a pointer value, NUL is an ASCII code. > Signed-off-by: Duane Griffin <duaneg@dghda.com> > --- > fs/ext2/symlink.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/fs/ext2/symlink.c b/fs/ext2/symlink.c > index 4e2426e..9b164ba 100644 > --- a/fs/ext2/symlink.c > +++ b/fs/ext2/symlink.c > @@ -24,7 +24,9 @@ > static void *ext2_follow_link(struct dentry *dentry, struct nameidata *nd) > { > struct ext2_inode_info *ei = EXT2_I(dentry->d_inode); > - nd_set_link(nd, (char *)ei->i_data); > + char *link = (char *) ei->i_data; > + link[sizeof(ei->i_data) - 1] = '\0'; > + nd_set_link(nd, link); > return NULL; > } > > -- > 1.6.0.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
2008/12/11 Matthew Wilcox <matthew@wil.cx>: > On Thu, Dec 11, 2008 at 07:16:28PM +0000, Duane Griffin wrote: >> Ensure link targets are NULL-terminated, even if corrupted on-disk. > > FWIW, that's spelled 'NUL' -- NULL is a pointer value, NUL is an ASCII > code. Good point, thanks. I'll try to remember for the future! Cheers, Duane.
diff --git a/fs/ext2/symlink.c b/fs/ext2/symlink.c index 4e2426e..9b164ba 100644 --- a/fs/ext2/symlink.c +++ b/fs/ext2/symlink.c @@ -24,7 +24,9 @@ static void *ext2_follow_link(struct dentry *dentry, struct nameidata *nd) { struct ext2_inode_info *ei = EXT2_I(dentry->d_inode); - nd_set_link(nd, (char *)ei->i_data); + char *link = (char *) ei->i_data; + link[sizeof(ei->i_data) - 1] = '\0'; + nd_set_link(nd, link); return NULL; }
Ensure link targets are NULL-terminated, even if corrupted on-disk. Signed-off-by: Duane Griffin <duaneg@dghda.com> --- fs/ext2/symlink.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)