[PATCH] efi_loader: Fix potential deref-after-null
Maks Mishin
maks.mishinfz at gmail.com
Sun Feb 2 18:59:40 CET 2025
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 <maks.mishinFZ at gmail.com>
---
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) {
+ 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;
--
2.34.1
More information about the U-Boot
mailing list