Blob Blame History Raw
From e7626f7aa1e5947f8235728fed5af862b27a719e Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 10 Sep 2014 16:15:27 -0400
Subject: [PATCH 12/31] Don't free something that shouldn't ever be non-NULL.

Instead, check and error if it's non-NULL.

(Covscan, which got this completely wrong.)

Signed-off-by: Peter Jones <pjones@redhat.com>
---
 src/lib/efi.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/lib/efi.c b/src/lib/efi.c
index a131abe..f604a1a 100644
--- a/src/lib/efi.c
+++ b/src/lib/efi.c
@@ -792,7 +792,7 @@ append_extra_args_ascii(uint8_t **data, size_t *data_size)
 	int i;
 	unsigned long usedchars=0;
 
-	if (!data)
+	if (!data || *data)
 		return -1;
 
 	for (i=opts.optind; i < opts.argc; i++)	{
@@ -816,8 +816,6 @@ append_extra_args_ascii(uint8_t **data, size_t *data_size)
 	if (!new_data)
 		return 0;
 
-	if (*data)
-		free(*data);
 	*data = (uint8_t *)new_data;
 	*data_size = usedchars;
 
@@ -831,7 +829,7 @@ append_extra_args_unicode(uint8_t **data, size_t *data_size)
 	int i;
 	unsigned long usedchars=0;
 
-	if (!data)
+	if (!data || *data)
 		return -1;
 
 	for (i = opts.optind; i < opts.argc; i++) {
@@ -857,8 +855,6 @@ append_extra_args_unicode(uint8_t **data, size_t *data_size)
 	if (!new_data)
 		return 0;
 
-	if (*data)
-		free(*data);
 	*data = (uint8_t *)new_data;
 	*data_size = usedchars * sizeof (*new_data);
 
-- 
2.7.4