
On 07.12.23 13:36, Ilias Apalodimas wrote:
efi_get_var() allocates memory which has to be freed after the value of the variable is consumed. Free the memory properly
Fixes: f2bfa0cb1794 ("bootstd: Make efi_mgr bootmeth work for non-sandbox setups") Signed-off-by: Ilias Apalodimas ilias.apalodimas@linaro.org
Reviewed-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Apologies for the quick resend but the previous patches wasn't compiling due to the missing #include <malloc.h>
Changes since v1
Add #include <malloc.h> since it's needed for free()
boot/bootmeth_efi_mgr.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/boot/bootmeth_efi_mgr.c b/boot/bootmeth_efi_mgr.c index e6c42d41fb80..6428c096d7f8 100644 --- a/boot/bootmeth_efi_mgr.c +++ b/boot/bootmeth_efi_mgr.c @@ -16,6 +16,7 @@ #include <dm.h> #include <efi_loader.h> #include <efi_variable.h> +#include <malloc.h>
/**
- struct efi_mgr_priv - private info for the efi-mgr driver
@@ -65,6 +66,7 @@ static int efi_mgr_read_bootflow(struct udevice *dev, struct bootflow *bflow) bootorder = efi_get_var(u"BootOrder", &efi_global_variable_guid, &size); if (bootorder) {
bflow->state = BOOTFLOWST_READY; return 0; }free(bootorder);
-- 2.40.1