Blob Blame History Raw
From ae451cb921126aa965abfe79c8716b7367c690de Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Wed, 27 Nov 2013 16:59:48 +0100
Subject: [PATCH 12/41] grub: Fix a crash with kernel line without being
 preceded by title

Quite obviously this implies a broken configuration file where a lone kernel
line is found without ever seeing an entry start, resulting in a NULL
dereference attempt. Reproducible by running GRUB code against extlinux
configuration:

./grubby --grub -c test/extlinux.1 --default-kernel
grubby received SIGSEGV!  Backtrace (6):
...

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 grubby.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grubby.c b/grubby.c
index 21c5044..3cded58 100644
--- a/grubby.c
+++ b/grubby.c
@@ -1193,7 +1193,7 @@ static struct grubConfig * readConfig(const char * inName,
 	     * lines came earlier in the template, make sure to use LT_HYPER 
 	     * instead of LT_KERNEL now
 	     */
-	    if (entry->multiboot)
+	    if (entry && entry->multiboot)
 		line->type = LT_HYPER;
 
         } else if (line->type == LT_MBMODULE) {
-- 
2.4.3