From 4794822464ea0ff4073fdfd3526fd059a2c1f05e Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 9 Nov 2015 14:33:55 -0500 Subject: shim: fix resource leak on should_use_fallback() error path ExitBootServices() and Exit() should both clean these up anyway, but we should do the right thing nonetheless. Signed-off-by: Peter Jones --- shim.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/shim.c b/shim.c index 305aaf31..d64d15be 100644 --- a/shim.c +++ b/shim.c @@ -1270,8 +1270,8 @@ should_use_fallback(EFI_HANDLE image_handle) unsigned int pathlen = 0; CHAR16 *bootpath = NULL; EFI_FILE_IO_INTERFACE *fio = NULL; - EFI_FILE *vh; - EFI_FILE *fh; + EFI_FILE *vh = NULL; + EFI_FILE *fh = NULL; EFI_STATUS rc; int ret = 0; @@ -1322,11 +1322,13 @@ should_use_fallback(EFI_HANDLE image_handle) uefi_call_wrapper(vh->Close, 1, vh); goto error; } - uefi_call_wrapper(fh->Close, 1, fh); - uefi_call_wrapper(vh->Close, 1, vh); ret = 1; error: + if (fh) + uefi_call_wrapper(fh->Close, 1, fh); + if (vh) + uefi_call_wrapper(vh->Close, 1, vh); if (bootpath) FreePool(bootpath); -- cgit v1.2.3