mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 09:12:08 +02:00
efi_loader: efi_dp_split_file_path() error handling
If the path passed to efi_dp_split_file_path() does not contain a reference to a file it returns EFI_OUT_OF_RESOURCES. This does not properly indicate the kind of the problem that occurred. Return EFI_INVALID_PARAMETER instead. Update function description. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
@@ -910,9 +910,17 @@ struct efi_device_path *efi_dp_from_mem(uint32_t memory_type,
|
|||||||
return start;
|
return start;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Helper to split a full device path (containing both device and file
|
* efi_dp_split_file_path() - split of relative file path from device path
|
||||||
* parts) into it's constituent parts.
|
*
|
||||||
|
* Given a device path indicating a file on a device, separate the device
|
||||||
|
* path in two: the device path of the actual device and the file path
|
||||||
|
* relative to this device.
|
||||||
|
*
|
||||||
|
* @full_path: device path including device and file path
|
||||||
|
* @device_path: path of the device
|
||||||
|
* @file_path: relative path of the file
|
||||||
|
* Return: status code
|
||||||
*/
|
*/
|
||||||
efi_status_t efi_dp_split_file_path(struct efi_device_path *full_path,
|
efi_status_t efi_dp_split_file_path(struct efi_device_path *full_path,
|
||||||
struct efi_device_path **device_path,
|
struct efi_device_path **device_path,
|
||||||
@@ -929,7 +937,7 @@ efi_status_t efi_dp_split_file_path(struct efi_device_path *full_path,
|
|||||||
while (!EFI_DP_TYPE(p, MEDIA_DEVICE, FILE_PATH)) {
|
while (!EFI_DP_TYPE(p, MEDIA_DEVICE, FILE_PATH)) {
|
||||||
p = efi_dp_next(p);
|
p = efi_dp_next(p);
|
||||||
if (!p)
|
if (!p)
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
fp = efi_dp_dup(p);
|
fp = efi_dp_dup(p);
|
||||||
if (!fp)
|
if (!fp)
|
||||||
|
Reference in New Issue
Block a user