]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
efidisk: NULL pointer dereference in is_child()
authorEric Snowberg <eric.snowberg@oracle.com>
Thu, 28 Mar 2019 21:26:36 +0000 (15:26 -0600)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 2 Apr 2019 11:08:22 +0000 (13:08 +0200)
Function grub_efi_find_last_device() path may return NULL when called
from is_child().

Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/disk/efi/efidisk.c

index 961c1552bfef3d5c75591705c10ffb02e5df2632..78ab2d21ae974a3899ecdfe32f9267d7259bb212 100644 (file)
@@ -162,6 +162,9 @@ is_child (struct grub_efidisk_data *child,
     return 0;
 
   ldp = grub_efi_find_last_device_path (dp);
+  if (! ldp)
+    return 0;
+
   ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
   ldp->length = sizeof (*ldp);