From: Randall Huang <[email protected]>

If the len is less than 24, heap buffer overflow is reported.

Signed-off-by: Randall Huang <[email protected]>
Signed-off-by: Jaegeuk Kim <[email protected]>
---
 fsck/fsck.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index 85d9823..1fc168f 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1170,10 +1170,12 @@ int convert_encrypted_name(unsigned char *name, u32 len,
                memcpy(new, name, len);
                new[len] = 0;
                return len;
+       } else if (len != 24) {
+               ASSERT_MSG("len: %d, encrypted name must be 24\n", len);
        }
 
        *new = '_';
-       return digest_encode((const char *)name, 24, (char *)new + 1);
+       return digest_encode((const char *)name, len, (char *)new + 1);
 }
 
 static void print_dentry(__u32 depth, __u8 *name,
-- 
2.19.0.605.g01d371f741-goog



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to