grub/grub-core/kern
Michael Chang 4dd4ceec02 efi: Fix gcc9 error -Waddress-of-packed-member
The address of fp->path_name could be unaligned since seeking into the
device path buffer for a given node could end in byte boundary.

The fix is allocating aligned buffer by grub_malloc for holding the
UTF16 string copied from fp->path_name, and after using that buffer as
argument for grub_utf16_to_utf8 to convert it to UTF8 string.

[  255s] ../../grub-core/kern/efi/efi.c: In function 'grub_efi_get_filename':
[  255s] ../../grub-core/kern/efi/efi.c:410:60: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
[  255s]   410 |    p = (char *) grub_utf16_to_utf8 ((unsigned char *) p, fp->path_name, len);
[  255s]       |                                                          ~~^~~~~~~~~~~
[  255s] ../../grub-core/kern/efi/efi.c: In function 'grub_efi_print_device_path':
[  255s] ../../grub-core/kern/efi/efi.c:900:33: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
[  255s]   900 |     *grub_utf16_to_utf8 (buf, fp->path_name,
[  255s]       |                               ~~^~~~~~~~~~~

Signed-off-by: Michael Chang <mchang@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-04-23 11:37:08 +02:00
..
arm arm: Delete unused efi support from loader/arm 2018-07-25 14:18:11 +02:00
arm64 Fix mingw compilation. 2017-02-03 13:01:34 +01:00
coreboot arm-coreboot: Start new port. 2017-05-08 20:53:28 +02:00
efi efi: Fix gcc9 error -Waddress-of-packed-member 2019-04-23 11:37:08 +02:00
emu Change fs functions to add fs_ prefix 2019-04-09 10:03:29 +10:00
generic
i386 verifiers: Core TPM support 2018-12-12 14:51:26 +01:00
ia64 Fix remaining cases of gcc 7 fallthrough warning. 2017-04-12 01:42:38 +00:00
ieee1275 ieee1275: NULL pointer dereference in grub_ieee1275_encode_devname() 2019-04-04 18:34:05 +02:00
mips Fix remaining cases of gcc 7 fallthrough warning. 2017-04-12 01:42:38 +00:00
powerpc Support R_PPC_PLTREL24 2019-03-25 15:08:49 +01:00
riscv RISC-V: Add auxiliary files 2019-02-25 14:01:59 +01:00
sparc64 sparc64: #blocks64 disk node method 2018-03-05 15:26:36 +01:00
uboot uboot: Add the missing disk write operation support 2019-01-22 15:23:51 +01:00
x86_64 x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 2018-02-23 22:25:30 +01:00
xen xen: Add basic hooks for PVH in current code 2018-12-12 12:03:27 +01:00
acpi.c Make grub_acpi_find_fadt accessible generically 2016-02-12 11:35:48 +01:00
command.c
compiler-rt.c sparc: Enable __clzsi2() and __clzdi2() 2019-03-20 11:38:28 +01:00
corecmd.c Change fs functions to add fs_ prefix 2019-04-09 10:03:29 +10:00
device.c
disk.c Rename grub_disk members 2019-03-25 15:14:52 +01:00
disk_common.c
dl.c RISC-V: Add awareness for RISC-V reloations 2019-02-25 11:34:09 +01:00
elf.c verifiers: File type for fine-grained signature-verification controlling 2018-11-09 13:25:31 +01:00
elfXX.c
env.c
err.c
file.c Change fs functions to add fs_ prefix 2019-04-09 10:03:29 +10:00
fs.c Change fs functions to add fs_ prefix 2019-04-09 10:03:29 +10:00
list.c
main.c
misc.c strtoull: Fix behaviour on chars between '9' and 'a'. 2017-05-03 12:59:58 +02:00
mm.c mm: Avoid integer overflow. 2016-02-17 18:09:44 +01:00
parser.c
partition.c
rescue_parser.c
rescue_reader.c
term.c
time.c
vga_init.c