Blob Blame History Raw
From 320159cd9da53448793b39d044eec7c10fe17ffe Mon Sep 17 00:00:00 2001
From: Jan Stancek <jstancek@redhat.com>
Date: Tue, 11 Nov 2014 10:44:09 -0500
Subject: [PATCH 2/2] Strdup the right place in title extraction.

Instead of strduping and then incrementing, which means we free the
wrong location, strdup the incremented pointer.

Resolves: rhbz#1152152

Signed-off-by: Peter Jones <pjones@redhat.com>
---
 grubby.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/grubby.c b/grubby.c
index 3ee6c98..4586310 100644
--- a/grubby.c
+++ b/grubby.c
@@ -826,11 +826,10 @@ static int isEntryStart(struct singleLine * line,
 
 /* extract the title from within brackets (for zipl) */
 static char * extractTitle(struct singleLine * line) {
-    /* bracketed title... let's extract it (leaks a byte) */
+    /* bracketed title... let's extract it */
     char * title = NULL;
     if (line->type == LT_TITLE) {
-	title = strdup(line->elements[0].item);
-	title++;
+	title = strdup(line->elements[0].item + 1);
 	*(title + strlen(title) - 1) = '\0';
     } else if (line->type == LT_MENUENTRY)
 	title = strdup(line->elements[1].item);
-- 
1.9.3