[PATCH] efi_loader: initialize return values in efi_uninstall_multiple_protocol_interfaces_int()

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Nov 10 08:35:31 CET 2022


If the va_list we got handed over contains no protocols we must return
EFI_INVALID_PARAMETER.  However in that case the current code just returns
an unintialized value.

Addresses-Coverity: CID 376195:  ("Uninitialized variables  (UNINIT)")
---
 lib/efi_loader/efi_boottime.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index a56021559bbf..96aa36ef85de 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -2754,7 +2754,7 @@ efi_uninstall_multiple_protocol_interfaces_int(efi_handle_t handle,
 {
 	const efi_guid_t *protocol;
 	void *protocol_interface;
-	efi_status_t ret;
+	efi_status_t ret = EFI_INVALID_PARAMETER;
 	size_t i = 0;
 	efi_va_list argptr_copy;
 
@@ -2765,7 +2765,7 @@ efi_uninstall_multiple_protocol_interfaces_int(efi_handle_t handle,
 	for (;;) {
 		protocol = efi_va_arg(argptr, efi_guid_t*);
 		if (!protocol)
-			break;
+			goto out;
 		protocol_interface = efi_va_arg(argptr, void*);
 		ret = efi_uninstall_protocol(handle, protocol,
 					     protocol_interface);
-- 
2.38.1



More information about the U-Boot mailing list