efi_loader: LoadImage w/o SourceBuffer and DevicePath

If both SourceBuffer and DevicePath are NULL, LoadImage() must return
EFI_INVALID_PARAMETER.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
Heinrich Schuchardt 2019-06-11 18:52:33 +02:00
parent 698bc1f2e9
commit e4afcb2876

View File

@ -1856,17 +1856,10 @@ efi_status_t EFIAPI efi_load_image(bool boot_policy,
EFI_ENTRY("%d, %p, %pD, %p, %zd, %p", boot_policy, parent_image,
file_path, source_buffer, source_size, image_handle);
if (!image_handle || !efi_search_obj(parent_image)) {
ret = EFI_INVALID_PARAMETER;
goto error;
}
if (!source_buffer && !file_path) {
ret = EFI_NOT_FOUND;
goto error;
}
/* The parent image handle must refer to a loaded image */
if (!parent_image->type) {
if (!image_handle || (!source_buffer && !file_path) ||
!efi_search_obj(parent_image) ||
/* The parent image handle must refer to a loaded image */
!parent_image->type) {
ret = EFI_INVALID_PARAMETER;
goto error;
}