fs/f2fs: Do not copy file names that are too long
A corrupt f2fs file system might specify a name length which is greater than the maximum name length supported by the GRUB f2fs driver. We will allocate enough memory to store the overly long name, but there are only F2FS_NAME_LEN bytes in the source, so we would read past the end of the source. While checking directory entries, do not copy a file name with an invalid length. Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com> Signed-off-by: Daniel Axtens <dja@axtens.net> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
deae293f39
commit
e40b83335b
@ -1003,6 +1003,10 @@ grub_f2fs_check_dentries (struct grub_f2fs_dir_iter_ctx *ctx)
|
||||
|
||||
ftype = ctx->dentry[i].file_type;
|
||||
name_len = grub_le_to_cpu16 (ctx->dentry[i].name_len);
|
||||
|
||||
if (name_len >= F2FS_NAME_LEN)
|
||||
return 0;
|
||||
|
||||
filename = grub_malloc (name_len + 1);
|
||||
if (!filename)
|
||||
return 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user