mirror of
https://git.proxmox.com/git/grub2
synced 2025-07-22 19:49:28 +00:00
![]() 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> |
||
---|---|---|
.. | ||
arm | ||
arm64 | ||
coreboot | ||
efi | ||
emu | ||
generic | ||
i386 | ||
ia64 | ||
ieee1275 | ||
mips | ||
powerpc | ||
riscv | ||
sparc64 | ||
uboot | ||
x86_64 | ||
xen | ||
acpi.c | ||
command.c | ||
compiler-rt.c | ||
corecmd.c | ||
device.c | ||
disk_common.c | ||
disk.c | ||
dl.c | ||
elf.c | ||
elfXX.c | ||
env.c | ||
err.c | ||
file.c | ||
fs.c | ||
list.c | ||
main.c | ||
misc.c | ||
mm.c | ||
parser.c | ||
partition.c | ||
rescue_parser.c | ||
rescue_reader.c | ||
term.c | ||
time.c | ||
vga_init.c |