]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
ieee1275: NULL pointer dereference in grub_machine_get_bootlocation()
authorEric Snowberg <eric.snowberg@oracle.com>
Wed, 14 Mar 2018 15:51:17 +0000 (08:51 -0700)
committerDaniel Kiper <daniel.kiper@oracle.com>
Mon, 26 Mar 2018 13:03:36 +0000 (15:03 +0200)
Read from NULL pointer canon in function grub_machine_get_bootlocation().
Function grub_ieee1275_canonicalise_devname() may return NULL.

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

index 62dfb8a3bad91d0afaae72d2a973c98d1fbe6512..0d8ebf58b95e220b233e043d2b380007b48e1235 100644 (file)
@@ -110,6 +110,8 @@ grub_machine_get_bootlocation (char **device, char **path)
       char *ptr;
       dev = grub_ieee1275_get_aliasdevname (bootpath);
       canon = grub_ieee1275_canonicalise_devname (dev);
+      if (! canon)
+        return;
       ptr = canon + grub_strlen (canon) - 1;
       while (ptr > canon && (*ptr == ',' || *ptr == ':'))
        ptr--;