diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index 727a2f753df391457010925aa237a46330b5cf5f..e73223ac22c99a8687d065e5f91732f7f6deab98 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -1920,6 +1920,11 @@ int ext4fs_iterate_dir(struct ext2fs_node *dir, char *name, if (status < 0) return 0; + if (dirent.direntlen == 0) { + printf("Failed to iterate over directory %s\n", name); + return 0; + } + if (dirent.namelen != 0) { char filename[dirent.namelen + 1]; struct ext2fs_node *fdiro;