33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||
|
Date: Fri, 26 Jun 2020 10:51:43 -0400
|
||
|
Subject: [PATCH] multiboot2: Fix memory leak if grub_create_loader_cmdline()
|
||
|
fails
|
||
|
|
||
|
Fixes: CID 292468
|
||
|
|
||
|
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||
|
Upstream-commit-id: cd6760b6289
|
||
|
---
|
||
|
grub-core/loader/multiboot_mbi2.c | 6 +++++-
|
||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/grub-core/loader/multiboot_mbi2.c b/grub-core/loader/multiboot_mbi2.c
|
||
|
index 53da7861516..0efc660620e 100644
|
||
|
--- a/grub-core/loader/multiboot_mbi2.c
|
||
|
+++ b/grub-core/loader/multiboot_mbi2.c
|
||
|
@@ -1070,7 +1070,11 @@ grub_multiboot2_add_module (grub_addr_t start, grub_size_t size,
|
||
|
err = grub_create_loader_cmdline (argc, argv, newmod->cmdline,
|
||
|
newmod->cmdline_size, GRUB_VERIFY_MODULE_CMDLINE);
|
||
|
if (err)
|
||
|
- return err;
|
||
|
+ {
|
||
|
+ grub_free (newmod->cmdline);
|
||
|
+ grub_free (newmod);
|
||
|
+ return err;
|
||
|
+ }
|
||
|
|
||
|
if (modules_last)
|
||
|
modules_last->next = newmod;
|