Browse Source

pipecmd: fix minor memleak detected by scan-build.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 9 years ago
parent
commit
f14e4e974f
1 changed files with 5 additions and 2 deletions
  1. 5 2
      ccan/pipecmd/pipecmd.c

+ 5 - 2
ccan/pipecmd/pipecmd.c

@@ -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;
 }