]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 26 May 2012 22:58:48 +0000 (00:58 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 26 May 2012 22:58:48 +0000 (00:58 +0200)
"..".

ChangeLog
grub-core/fs/iso9660.c

index 4575205c03a301d633992d358ff7772938b38a30..732ed152e66828810638bf15097ae74c803a5b7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
+       "..".
+
 2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
index 819a22b7854259d38e4759337000e6d490d43656..cd4acc8ec1ce3537d22fc16fb8ae5c904cc3ec85 100644 (file)
@@ -726,11 +726,11 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
          }
 
        /* . and .. */
-       if (!filename && dirent.namelen == 1 && (name[0] == ';' || name[0] == 0 || name[0] == 1))
-         {
-           grub_free (node);
-           continue;
-         }
+       if (!filename && dirent.namelen == 1 && name[0] == 0)
+         filename = (char *) ".";
+
+       if (!filename && dirent.namelen == 1 && name[0] == 1)
+         filename = (char *) "..";
 
        /* The filename was not stored in a rock ridge entry.  Read it
           from the iso9660 filesystem.  */