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
