diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/image-host.c | 7 |
1 files 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; |
