From 249db11d8fc365476b45103ccef4b14361d70b7e Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Wed, 25 Jun 2025 14:42:43 +0100 Subject: [PATCH] loader/efi/linux: Correctly terminate load_options member If a simple string for arguments are passed it should be NUL terminated. This is true for other code but not for "linux" command. Signed-off-by: Frediano Ziglio Reviewed-by: Daniel Kiper --- grub-core/loader/efi/linux.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c index 5a2b7b5a1..7ca80635c 100644 --- a/grub-core/loader/efi/linux.c +++ b/grub-core/loader/efi/linux.c @@ -233,6 +233,8 @@ grub_arch_efi_linux_boot_image (grub_addr_t addr, grub_size_t size, char *args) len = grub_utf8_to_utf16 (loaded_image->load_options, len, (grub_uint8_t *) args, args_len, NULL); + /* NUL terminate. */ + ((grub_efi_char16_t *) loaded_image->load_options)[len++] = 0; loaded_image->load_options_size = len * sizeof (grub_efi_char16_t); grub_dprintf ("linux", "starting image %p\n", image_handle); -- 2.47.3