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 <pjones@redhat.com>
This commit is contained in:
Peter Jones 2015-11-09 14:33:55 -05:00
parent 7cb2179b53
commit 4794822464

10
shim.c
View File

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