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;