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 <frediano.zig...@cloud.com> --- Changes since v1 - remove useless assignment. Changes since v2 - split changes; - correct spacing. --- 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 9df49150e..e53593408 100644 --- a/grub-core/loader/efi/linux.c +++ b/grub-core/loader/efi/linux.c @@ -231,6 +231,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, (grub_size_t) -1, 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.49.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel