[PATCH] tools: Handle realloc failure in strlist_add

Francois Berder fberder at outlook.fr
Mon Jan 19 15:49:06 CET 2026


If realloc fails, list->strings was set to NULL and
it would create a leak. This commit ensures that if we cannot
add a string to the list, the list stays in a good state.

Signed-off-by: Francois Berder <fberder at outlook.fr>
---
 tools/image-host.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/image-host.c b/tools/image-host.c
index 54df86316ae..48d69191c92 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -733,6 +733,7 @@ static void strlist_free(struct strlist *list)
 static int strlist_add(struct strlist *list, const char *str)
 {
 	char *dup;
+	char  **tmp = NULL;
 
 	if (!list || !str)
 		return -1;
@@ -741,13 +742,13 @@ static int strlist_add(struct strlist *list, const char *str)
 	if(!dup)
 		return -1;
 
-	list->strings = realloc(list->strings,
-				(list->count + 1) * sizeof(char *));
-	if (!list->strings) {
+	tmp = realloc(list->strings, (list->count + 1) * sizeof(char *));
+	if (!tmp) {
 		free(dup);
 		return -1;
 	}
 
+	list->strings = tmp;
 	list->strings[list->count++] = dup;
 
 	return 0;
-- 
2.43.0



More information about the U-Boot mailing list