[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fwts-devel
Subject:    [PATCH] lib: fwts_memorymap: check for memory allocation failure on object entry
From:       Colin King <colin.king () canonical ! com>
Date:       2020-01-13 10:58:33
Message-ID: 20200113105833.164218-1-colin.king () canonical ! com
[Download RAW message or body]

From: Colin Ian King <colin.king@canonical.com>

The call to  fwts_memory_map_table_read_entry may return NULL on a memory
allocation failure, so check for this and if we have a failure then free
up the list and return NULL to indicate an error.

Addresses-Coverity: ("Dereference null return")
Fixes: c34024b06890 ("lib: e820: load e820 info from /sys/firmware/memmap")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 src/lib/src/fwts_memorymap.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/src/fwts_memorymap.c b/src/lib/src/fwts_memorymap.c
index bbf8d57c..241b552e 100644
--- a/src/lib/src/fwts_memorymap.c
+++ b/src/lib/src/fwts_memorymap.c
@@ -310,7 +310,13 @@ fwts_list *fwts_memory_map_table_load(fwts_framework *fw)
 
 	while ((directory = readdir(dir)) != NULL) {
 		if (strncmp(directory->d_name, ".", 1)) {
-			fwts_memory_map_entry *entry = fwts_memory_map_table_read_entry(directory->d_name);
+			fwts_memory_map_entry *entry;
+
+			entry = fwts_memory_map_table_read_entry(directory->d_name);
+			if (!entry) {
+				fwts_memory_map_table_free(memory_map_list);
+				return NULL;
+			}
 			fwts_list_add_ordered(memory_map_list, entry, fwts_fwts_memory_map_entry_compare);
 		}
 	}
-- 
2.24.0


-- 
fwts-devel mailing list
fwts-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/fwts-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic