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.snowb...@oracle.com>
---
 grub-core/kern/ieee1275/init.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index 62dfb8a..0d8ebf5 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -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--;
-- 
1.7.1


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to