mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-27 05:20:50 +00:00
hw/i386/multiboot: Avoid dynamic stack allocation
Use autofree heap allocation instead of variable-length array on the stack. Replace the snprintf() call by g_strdup_printf(). Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20220819153931.3147384-9-peter.maydell@linaro.org
This commit is contained in:
parent
7650c8fe52
commit
fa87341dab
@ -163,6 +163,7 @@ int load_multiboot(X86MachineState *x86ms,
|
||||
uint8_t *mb_bootinfo_data;
|
||||
uint32_t cmdline_len;
|
||||
GList *mods = NULL;
|
||||
g_autofree char *kcmdline = NULL;
|
||||
|
||||
/* Ok, let's see if it is a multiboot image.
|
||||
The header is 12x32bit long, so the latest entry may be 8192 - 48. */
|
||||
@ -362,9 +363,7 @@ int load_multiboot(X86MachineState *x86ms,
|
||||
}
|
||||
|
||||
/* Commandline support */
|
||||
char kcmdline[strlen(kernel_filename) + strlen(kernel_cmdline) + 2];
|
||||
snprintf(kcmdline, sizeof(kcmdline), "%s %s",
|
||||
kernel_filename, kernel_cmdline);
|
||||
kcmdline = g_strdup_printf("%s %s", kernel_filename, kernel_cmdline);
|
||||
stl_p(bootinfo + MBI_CMDLINE, mb_add_cmdline(&mbs, kcmdline));
|
||||
|
||||
stl_p(bootinfo + MBI_BOOTLOADER, mb_add_bootloader(&mbs, bootloader_name));
|
||||
|
Loading…
Reference in New Issue
Block a user