Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@@ -16,9 +16,12 @@ static char **gather_args(const char *arg0, va_list ap)
arr[0] = (char *)arg0;
while ((arr[n++] = va_arg(ap, char *)) != NULL) {
- arr = realloc(arr, sizeof(char *) * (n + 1));
- if (!arr)
+ char **narr = realloc(arr, sizeof(char *) * (n + 1));
+ if (!narr) {
+ free(arr);
return NULL;
+ }
+ arr = narr;
}
return arr;