fix for deadloop in grub_ext2_iterate_dir:
fpos is not updated if dirent.direntlen == 0
Signed-off-by: Vasily Averin <[email protected]>
diff -up ./fs/ext2.c.e2rdr ./fs/ext2.c
--- ./fs/ext2.c.e2rdr 2009-07-19 17:59:21.000000000 +0400
+++ ./fs/ext2.c 2009-10-17 15:28:11.000000000 +0400
@@ -649,6 +649,9 @@ grub_ext2_iterate_dir (grub_fshelp_node_
if (grub_errno)
return 0;
+ if (grub_le_to_cpu16 (dirent.direntlen) == 0)
+ return 0;
+
if (dirent.namelen != 0)
{
char filename[dirent.namelen + 1];
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel