Blame SOURCES/0024-Always-error-check-getLineByType.patch

56d25d
From 9549dc0d747d8987dd11643340adfa7b6f799460 Mon Sep 17 00:00:00 2001
56d25d
From: Peter Jones <pjones@redhat.com>
56d25d
Date: Thu, 25 Sep 2014 13:24:15 -0400
56d25d
Subject: [PATCH 24/41] Always error check getLineByType()
56d25d
56d25d
Signed-off-by: Peter Jones <pjones@redhat.com>
56d25d
---
56d25d
 grubby.c | 20 +++++++++++++++-----
56d25d
 1 file changed, 15 insertions(+), 5 deletions(-)
56d25d
56d25d
diff --git a/grubby.c b/grubby.c
56d25d
index f8e9c25..febc1ad 100644
56d25d
--- a/grubby.c
56d25d
+++ b/grubby.c
56d25d
@@ -2363,9 +2363,11 @@ void displayEntry(struct singleEntry * entry, const char * prefix, int index) {
56d25d
     } else {
56d25d
 	char * title;
56d25d
 	line = getLineByType(LT_MENUENTRY, entry->lines);
56d25d
-	title = grub2ExtractTitle(line);
56d25d
-	if (title)
56d25d
-	    printf("title=%s\n", title);
56d25d
+	if (!line) {
56d25d
+	    title = grub2ExtractTitle(line);
56d25d
+	    if (title)
56d25d
+		printf("title=%s\n", title);
56d25d
+	}
56d25d
     }
56d25d
 }
56d25d
 
56d25d
@@ -3302,9 +3304,13 @@ int addMBInitrd(struct grubConfig * cfg, const char *newMBKernel,
56d25d
 
56d25d
 	/* if title is supplied, the entry's title must match it. */
56d25d
 	if (title) {
56d25d
+	    char *linetitle;
56d25d
+
56d25d
 	    line = getLineByType(LT_TITLE|LT_MENUENTRY, entry->lines);
56d25d
-	    char *linetitle = extractTitle(line);
56d25d
+	    if (!line)
56d25d
+		continue;
56d25d
 
56d25d
+	    linetitle = extractTitle(line);
56d25d
 	    if (!linetitle)
56d25d
 		continue;
56d25d
 	    if (strcmp(title, linetitle)) {
56d25d
@@ -3352,9 +3358,13 @@ int updateInitrd(struct grubConfig * cfg, const char * image,
56d25d
 
56d25d
 	/* if title is supplied, the entry's title must match it. */
56d25d
 	if (title) {
56d25d
+	    char *linetitle;
56d25d
+
56d25d
 	    line = getLineByType(LT_TITLE|LT_MENUENTRY, entry->lines);
56d25d
-	    char *linetitle = extractTitle(line);
56d25d
+	    if (!line)
56d25d
+		continue;
56d25d
 
56d25d
+	    linetitle = extractTitle(line);
56d25d
 	    if (!linetitle)
56d25d
 		continue;
56d25d
 	    if (strcmp(title, linetitle)) {
56d25d
-- 
56d25d
2.4.3
56d25d