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.mishi...@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

Reply via email to