mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
efi_loader: correctly split device path of loaded image
When the LoadImage() service is called for an image that is already loaded to memory the file path may be NULL or it will contain both a device path as well as a media path. We should not assume that there is no media path. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
e2e4098e1b
commit
1e15a9cb7f
1 changed files with 2 additions and 10 deletions
|
@ -1699,19 +1699,11 @@ efi_status_t EFIAPI efi_load_image(bool boot_policy,
|
|||
&source_size);
|
||||
if (ret != EFI_SUCCESS)
|
||||
goto error;
|
||||
/*
|
||||
* split file_path which contains both the device and
|
||||
* file parts:
|
||||
*/
|
||||
efi_dp_split_file_path(file_path, &dp, &fp);
|
||||
} else {
|
||||
/* In this case, file_path is the "device" path, i.e.
|
||||
* something like a HARDWARE_DEVICE:MEMORY_MAPPED
|
||||
*/
|
||||
dest_buffer = source_buffer;
|
||||
dp = file_path;
|
||||
fp = NULL;
|
||||
}
|
||||
/* split file_path which contains both the device and file parts */
|
||||
efi_dp_split_file_path(file_path, &dp, &fp);
|
||||
ret = efi_setup_loaded_image(dp, fp, image_obj, &info);
|
||||
if (ret == EFI_SUCCESS)
|
||||
ret = efi_load_pe(*image_obj, dest_buffer, info);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue