Description: fix unaligned access warnings on big endian machines On big endian machines (in my case parisc) unaligned accesses to 32bit integers gives warnings during boot like this: udisks-part-id(3035): unaligned access to 0xc06d29ce at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29d2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29de at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29e2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29ee at ip=0x00012a03 Fix this by copying the 4 bytes to an aligned address and then access it. Author: Helge Deller --- udisks-1.0.4.orig/src/helpers/partutil.c +++ udisks-1.0.4/src/helpers/partutil.c @@ -181,7 +181,9 @@ get_le16 (const void *buf) static guint32 get_le32 (const void *buf) { - return GUINT32_FROM_LE (*((guint32 *) buf)); + guint32 le32; + memcpy(&le32, buf, sizeof(le32)); + return GUINT32_FROM_LE (le32); } static guint64