]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 3 Jan 2013 20:27:00 +0000 (21:27 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 3 Jan 2013 20:27:00 +0000 (21:27 +0100)
entry->len = 0.

ChangeLog
grub-core/fs/iso9660.c

index e530ac339d29a2a5e9cf9f742fdd6c50313bc437..2717f8a2e9999ddb89dbd2b4de42fc3b98370361 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
+       entry->len = 0.
+
 2013-01-03  Colin Watson  <cjwatson@ubuntu.com>
 
        * docs/grub.texi (Invoking grub-mkrelpath): New section.
index cd4acc8ec1ce3537d22fc16fb8ae5c904cc3ec85..547e156701c3f92f8e8c1d764ceb6547428171fe 100644 (file)
@@ -295,7 +295,7 @@ grub_iso9660_susp_iterate (grub_fshelp_node_t node, grub_off_t off,
   if (load_sua ())
     return grub_errno;
 
-  for (; (char *) entry < (char *) sua + sua_size - 1;
+  for (; (char *) entry < (char *) sua + sua_size - 1 && entry->len > 0;
        entry = (struct grub_iso9660_susp_entry *)
         ((char *) entry + entry->len))
     {