Files
grub/grub-core/fs
Michael Chang 621024090b hfsplus: Fix gcc9 error with -Waddress-of-packed-member
The catkey->name could be unaligned since the address of 'void* record'
is calculated as offset in bytes to a malloc buffer.

The fix is using aligned buffer allocated by grub_malloc for holding
the UTF16 string copied from catkey->name. And use that buffer as
argument for grub_utf16_to_utf8 to convert to UTF8 strings.

In addition, using a new copy of buffer rather than catkey->name itself
for processing the endianess conversion, we can also get rid of the hunk
restoring byte order of catkey->name to what it was previously.

[   59s] ../grub-core/fs/hfsplus.c: In function 'list_nodes':
[   59s] ../grub-core/fs/hfsplus.c:738:57: error: taking address of packed member of 'struct grub_hfsplus_catkey' may result in an unaligned pointer value [-Werror=address-of-packed-member]
[   59s]   738 |   *grub_utf16_to_utf8 ((grub_uint8_t *) filename, catkey->name,
[   59s]       |                                                   ~~~~~~^~~~~~
[   59s] ../grub-core/fs/hfsplus.c: In function 'grub_hfsplus_label':
[   59s] ../grub-core/fs/hfsplus.c:1019:57: error: taking address of packed member of 'struct grub_hfsplus_catkey' may result in an unaligned pointer value [-Werror=address-of-packed-member]
[   59s]  1019 |   *grub_utf16_to_utf8 ((grub_uint8_t *) (*label), catkey->name,
[   59s]       |                                                   ~~~~~~^~~~~~

Signed-off-by: Michael Chang <mchang@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-04-23 11:37:08 +02:00
..
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2011-10-30 16:10:18 +01:00
2015-07-27 13:19:02 +02:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2011-04-11 18:13:00 +02:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2011-04-11 08:16:13 +02:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00
2010-05-06 11:34:04 +05:30
2012-12-08 20:56:58 +01:00
2019-04-09 10:03:29 +10:00
2019-04-09 10:03:29 +10:00