[Concept,05/22] efi: Avoid a memory leak in efi_bind_block() on error path

Message ID 20250925174753.3429102-6-sjg@u-boot.org
State New
Headers
Series efi: Tidy up some commands and provide a keyboard driver |

Commit Message

Simon Glass Sept. 25, 2025, 5:47 p.m. UTC
  From: Simon Glass <sjg@chromium.org>

Free the memory used if an error occurs.

Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
---

 lib/efi_client/efi_app_init.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Patch

diff --git a/lib/efi_client/efi_app_init.c b/lib/efi_client/efi_app_init.c
index b5421dc5a91..462c9db61e9 100644
--- a/lib/efi_client/efi_app_init.c
+++ b/lib/efi_client/efi_app_init.c
@@ -60,8 +60,10 @@  int efi_bind_block(efi_handle_t handle, struct efi_block_io *blkio,
 	plat->handle = handle;
 	plat->blkio = blkio;
 	plat->device_path = malloc(device_path_len);
-	if (!plat->device_path)
+	if (!plat->device_path) {
+		free(plat);
 		return log_msg_ret("path", -ENOMEM);
+	}
 	memcpy(plat->device_path, device_path, device_path_len);
 
 	snprintf(name, sizeof(name), "efi_media_%x",