* 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.
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
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)