From edb6b6842cbddc012d64491701f1d0979ffa96b3 Mon Sep 17 00:00:00 2001
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Mon, 23 Sep 2019 22:18:09 +0200
Subject: [PATCH] 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>
---
 lib/efi_loader/efi_variable.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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);
-- 
2.39.5