efi_loader: avoid NULL dereference in efi_dp_match
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 8 Oct 2017 04:57:26 +0000 (06:57 +0200)
committerAlexander Graf <agraf@suse.de>
Mon, 9 Oct 2017 05:00:37 +0000 (07:00 +0200)
When calling bootefi hello twice a kernel dump occurs.

Neither bootefi hello nor bootefi selftest have an image
device patch. So do not try to dereference the NULL
value.

Fixes: 95c5553ea26 efi_loader: refactor boot device and loaded_image handling
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
lib/efi_loader/efi_boottime.c

index 976d5822f7d578aa764a2b1e5a6c69e00cd90b44..54cf16476cf0c8c83fcf6f5136220566813e44f9 100644 (file)
@@ -1154,7 +1154,8 @@ void efi_setup_loaded_image(struct efi_loaded_image *info, struct efi_object *ob
                (void *)&efi_device_path_to_text;
 
        info->file_path = file_path;
-       info->device_handle = efi_dp_find_obj(device_path, NULL);
+       if (device_path)
+               info->device_handle = efi_dp_find_obj(device_path, NULL);
 
        list_add_tail(&obj->link, &efi_obj_list);
 }