efi_loader: avoid invalid free
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 27 Dec 2020 14:46:00 +0000 (15:46 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 31 Dec 2020 13:33:07 +0000 (14:33 +0100)
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>
lib/efi_loader/efi_bootmgr.c

index 61dc72a..d3be2f9 100644 (file)
@@ -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: