diff --git a/ChangeLog b/ChangeLog index 4575205c0..732ed152e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-05-27 Vladimir Serbinenko + + * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and + "..". + 2012-05-27 Vladimir Serbinenko * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid. diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c index 819a22b78..cd4acc8ec 100644 --- a/grub-core/fs/iso9660.c +++ b/grub-core/fs/iso9660.c @@ -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. */