mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-06-12 20:24:05 +00:00
Rewrite directory traversal allocation path so coverity can grok it.
The things we do for our tools. In this case, make the AllocatePool() happen outside of a conditional, even though that conditional will always bee satisfied. This way coverity won't think we're setting fi to NULL and passing it to StrCaseCmp. Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
parent
4dbef508ab
commit
3a7feeff6c
23
fallback.c
23
fallback.c
@ -445,25 +445,32 @@ find_boot_csv(EFI_FILE_HANDLE fh, CHAR16 *dirname)
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
FreePool(buffer);
|
||||
buffer = NULL;
|
||||
|
||||
bs = 0;
|
||||
do {
|
||||
bs = 0;
|
||||
rc = uefi_call_wrapper(fh->Read, 3, fh, &bs, NULL);
|
||||
if (rc == EFI_BUFFER_TOO_SMALL) {
|
||||
buffer = AllocateZeroPool(bs);
|
||||
if (!buffer) {
|
||||
Print(L"Could not allocate memory\n");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
rc = uefi_call_wrapper(fh->Read, 3, fh, &bs, buffer);
|
||||
if (EFI_ERROR(rc) && rc != EFI_BUFFER_TOO_SMALL) {
|
||||
Print(L"Could not read \\EFI\\%s\\: %d\n", dirname, rc);
|
||||
if (buffer)
|
||||
FreePool(buffer);
|
||||
return rc;
|
||||
}
|
||||
|
||||
buffer = AllocateZeroPool(bs);
|
||||
if (!buffer) {
|
||||
Print(L"Could not allocate memory\n");
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
rc = uefi_call_wrapper(fh->Read, 3, fh, &bs, buffer);
|
||||
if (EFI_ERROR(rc)) {
|
||||
Print(L"Could not read \\EFI\\%s\\: %d\n", dirname, rc);
|
||||
FreePool(buffer);
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (bs == 0)
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user