]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
authorrobertmh <robertmh@localhost>
Sat, 24 Oct 2009 23:36:00 +0000 (23:36 +0000)
committerrobertmh <robertmh@localhost>
Sat, 24 Oct 2009 23:36:00 +0000 (23:36 +0000)
2009-10-25  Vasily Averin  <vvs@parallels.com>

        * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
        `dirent.direntlen == 0'.

ChangeLog
fs/ext2.c

index 380dacffd92fe279d72762df42109efcbc2fc372..80c593e4b7364ff3cf073c1b0efb3f09dfbc3aae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+2009-10-25  Vasily Averin  <vvs@parallels.com>
+
+       * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
+       `dirent.direntlen == 0'.
+
 2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
 
        * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
index 0341680ea869dd50a465a775a786517b4c835bc1..8d8c6939e3877add288b5fd12ac0d482b123eda9 100644 (file)
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -649,6 +649,9 @@ grub_ext2_iterate_dir (grub_fshelp_node_t dir,
       if (grub_errno)
        return 0;
 
+      if (dirent.direntlen == 0)
+        return 0;
+
       if (dirent.namelen != 0)
        {
          char filename[dirent.namelen + 1];