mirror of
https://xff.cz/git/u-boot/
synced 2026-01-26 20:35:22 +01:00
efi_loader: efi_dp_part_node check dp_alloc return value
dp_alloc() may return NULL. This needs to be caught.
Fixes: 98d48bdf41 ("efi_loader: provide a function to create a partition node")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
@@ -936,7 +936,8 @@ struct efi_device_path *efi_dp_part_node(struct blk_desc *desc, int part)
|
||||
dpsize = sizeof(struct efi_device_path_hard_drive_path);
|
||||
buf = dp_alloc(dpsize);
|
||||
|
||||
dp_part_node(buf, desc, part);
|
||||
if (buf)
|
||||
dp_part_node(buf, desc, part);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
@@ -415,6 +415,11 @@ static efi_status_t efi_disk_add_dev(
|
||||
struct efi_handler *handler;
|
||||
void *protocol_interface;
|
||||
|
||||
if (!node) {
|
||||
ret = EFI_OUT_OF_RESOURCES;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Parent must expose EFI_BLOCK_IO_PROTOCOL */
|
||||
ret = efi_search_protocol(parent, &efi_block_io_guid, &handler);
|
||||
if (ret != EFI_SUCCESS)
|
||||
|
||||
Reference in New Issue
Block a user