fix for deadloop in grub_ext2_iterate_dir:
fpos is not updated if dirent.direntlen == 0

Signed-off-by: Vasily Averin <v...@parallels.com>

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
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to