[PATCH] efi_loader: check efi_get_variable_int return value
Masahisa Kojima
masahisa.kojima at linaro.org
Mon Jan 22 08:26:17 CET 2024
efi_get_variable_int() may fail, the buffer should be
cleared before using it.
Signed-off-by: Masahisa Kojima <masahisa.kojima at linaro.org>
Addresses-Coverity-ID: 478333 ("Error handling issues")
---
lib/efi_loader/efi_firmware.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
index 9fd13297a6..fb83fa8113 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
@@ -407,11 +407,11 @@ efi_status_t efi_firmware_set_fmp_state_var(struct fmp_state *state, u8 image_in
/*
* GetVariable may fail, EFI_NOT_FOUND is returned if FmpState
* variable has not been set yet.
- * Ignore the error here since the correct FmpState variable
- * is set later.
*/
- efi_get_variable_int(varname, image_type_id, NULL, &size, var_state,
- NULL);
+ ret = efi_get_variable_int(varname, image_type_id, NULL, &size,
+ var_state, NULL);
+ if (ret != EFI_SUCCESS)
+ memset(var_state, 0, num_banks * sizeof(*var_state));
/*
* Only the fw_version is set here.
--
2.34.1
More information about the U-Boot
mailing list