From: Eric Snowberg Date: Thu, 28 Mar 2019 21:26:37 +0000 (-0600) Subject: efidisk: NULL pointer dereference in grub_efidisk_get_device_name() X-Git-Tag: grub-2.04-rc1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ffe392153895cb1341d38fa291f977e2707f62e6;p=thirdparty%2Fgrub.git efidisk: NULL pointer dereference in grub_efidisk_get_device_name() Function grub_efi_find_last_device_path() may return NULL when called from grub_efidisk_get_device_name(). Signed-off-by: Eric Snowberg Reviewed-by: Daniel Kiper --- diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c index 78ab2d21a..9e20af70e 100644 --- a/grub-core/disk/efi/efidisk.c +++ b/grub-core/disk/efi/efidisk.c @@ -836,6 +836,9 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle) { grub_efi_device_path_t *dup_ldp; dup_ldp = grub_efi_find_last_device_path (dup_dp); + if (! dup_ldp) + break; + if (!(GRUB_EFI_DEVICE_PATH_TYPE (dup_ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE && (GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE || GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)))