From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Mon, 23 Sep 2019 20:18:09 +0000 (+0200)
Subject: efi_loader: SetVariable() fix illegal return
X-Git-Tag: v2025.01-rc5-pxa1908~2773^2~1
X-Git-Url: http://git.dujemihanovic.xyz/img/static/html/index.html?a=commitdiff_plain;h=edb6b6842cbddc012d64491701f1d0979ffa96b3;p=u-boot.git

efi_loader: SetVariable() fix illegal return

We always have to return via EFI_EXIT() from EFIAPI functions.

Coverity reported an unreachable line and a resource leak.

Fixes: commit 6d2f27c5fd60 ("efi_loader: variable: support APPEND_WRITE")
Reported-by: Coverity Scan CID 253575, CID 184095
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---

diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c
index 48ee255f87..22ad271bd8 100644
--- a/lib/efi_loader/efi_variable.c
+++ b/lib/efi_loader/efi_variable.c
@@ -470,7 +470,7 @@ efi_status_t EFIAPI efi_set_variable(u16 *variable_name,
 
 		if (attributes & EFI_VARIABLE_APPEND_WRITE) {
 			if (!prefix(old_val, "(blob)")) {
-				return EFI_DEVICE_ERROR;
+				ret = EFI_DEVICE_ERROR;
 				goto out;
 			}
 			old_size = strlen(old_val);