On 2/2/25 18:59, Maks Mishin wrote:
After having been compared to a NULL value at efi_disk.c:426,
pointer 'part_info' is dereferenced at efi_disk.c:534.
Signed-off-by: Maks Mishin <[email protected]>
---
lib/efi_loader/efi_disk.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index 1f3de0a233..83e8eb6fe4 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -531,13 +531,15 @@ static efi_status_t efi_disk_add_dev(
/* Store first EFI system partition */
if (part && efi_system_partition.uclass_id == UCLASS_INVALID) {
- if (part_info->bootable & PART_EFI_SYSTEM_PARTITION) {
- efi_system_partition.uclass_id = desc->uclass_id;
- efi_system_partition.devnum = desc->devnum;
- efi_system_partition.part = part;
- EFI_PRINT("EFI system partition: %s %x:%x\n",
- blk_get_uclass_name(desc->uclass_id),
- desc->devnum, part);
+ if (part_info) {
+ if (part_info->bootable & PART_EFI_SYSTEM_PARTITION) {
Hello Maks,
Thank you for spotting this and providing a patch.
U-Boot has scripts/get_maintainer.pl to find whom patches should be
addressed to.
We could use a single if statement with &&. But that is just a matter of
taste.
Reviewed-by: Heinrich Schuchardt <[email protected]>
+ efi_system_partition.uclass_id =
desc->uclass_id;
+ efi_system_partition.devnum = desc->devnum;
+ efi_system_partition.part = part;
+ EFI_PRINT("EFI system partition: %s %x:%x\n",
+ blk_get_uclass_name(desc->uclass_id),
+ desc->devnum, part);
+ }
}
}
return EFI_SUCCESS;