projects/linux·commit bc5b8a90

hfs: add sanity check for file name length

bc5b8a90 · Dan Carpenter <[email protected]> · 2011-11-14 17:52:08 +03:00

On a corrupted file system the ->len field could be wrong leading to
a buffer overflow.

Reported-and-acked-by: Clement LECIGNE <[email protected]>
Signed-off-by: Dan Carpenter <[email protected]>
Cc: [email protected]
Signed-off-by: Linus Torvalds <[email protected]>
Commit
bc5b8a9003132ae44559edd63a1623b7b99dfb68
Parents
7f80850d

Changes

1 files changed · +2 −0

FileStatusAddDelContent
fs/hfs/trans.cmodified+2−0View file

fs/hfs/trans.c

View file
diff --git a/fs/hfs/trans.c b/fs/hfs/trans.c
index e673a88..b1ce4c7 100644
--- a/fs/hfs/trans.c
+++ b/fs/hfs/trans.c
@@ -40,6 +40,8 @@ int hfs_mac2asc(struct super_block *sb, char *out, const struct hfs_name *in)
src = in->name;
srclen = in->len;
+ if (srclen > HFS_NAMELEN)
+ srclen = HFS_NAMELEN;
dst = out;
dstlen = HFS_MAX_NAMELEN;
if (nls_io) {