2009-05-13 Pavel Roskin <proski@gnu.org>

* fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
	PX record is always little-endian.  We only need the lower 2
	bytes of the mode.
This commit is contained in:
proski 2009-05-13 20:09:09 +00:00
parent faec96afc8
commit a2c8c5f8f6
2 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2009-05-13 Pavel Roskin <proski@gnu.org>
* fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
PX record is always little-endian. We only need the lower 2
bytes of the mode.
* fs/cpio.c: Use the same name "struct head" for tar and cpio to
facilitate code reuse.
(grub_cpio_mount): Use "struct head", not a char buffer. This

View File

@ -521,8 +521,8 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
else if (grub_strncmp ((char *) entry->sig, "PX", 2) == 0)
{
/* At position 0 of the PX record the st_mode information is
stored. */
grub_uint32_t mode = ((*(grub_uint32_t *) &entry->data[0])
stored (little-endian). */
grub_uint32_t mode = ((entry->data[0] + (entry->data[1] << 8))
& GRUB_ISO9660_FSTYPE_MASK);
switch (mode)