summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-27 15:46:00 +0100
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-29 02:09:04 +0100
commite434311dbaf1e79b09ac01dce198499e328549f8 (patch)
tree957cc2d9e4d7d83fcc8f24fad1ffc74a50e00b41
parent9abb01af749f61de8467de05a27f7262fb1dec7b (diff)
downloadu-boot-e434311dbaf1e79b09ac01dce198499e328549f8.tar.gz
efi_loader: avoid invalid free
load_options passed from do_efibootmgr() to do_bootefi_exec() may contain invalid data from the stack which will lead to an invalid free(). Fixes: 0ad64007feb9 ("efi_loader: set load options in boot manager") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-rw-r--r--lib/efi_loader/efi_bootmgr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c
index 61dc72a23d..d3be2f94c6 100644
--- a/lib/efi_loader/efi_bootmgr.c
+++ b/lib/efi_loader/efi_bootmgr.c
@@ -275,7 +275,7 @@ static efi_status_t try_load_entry(u16 n, efi_handle_t *handle,
memcpy(*load_options, lo.optional_data, size);
ret = efi_set_load_options(*handle, size, *load_options);
} else {
- load_options = NULL;
+ *load_options = NULL;
}
error: