From: Pavel Borzenkov Date: Mon, 31 Oct 2011 18:53:38 +0000 (+0400) Subject: cmd: Fix potential memory leak X-Git-Tag: v1.0-rc1~10^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=47e8dd8fe9d83e8b51d40c2b87d7983bd0a78206;p=thirdparty%2Fqemu.git cmd: Fix potential memory leak Signed-off-by: Pavel Borzenkov Signed-off-by: Stefan Hajnoczi --- diff --git a/cmd.c b/cmd.c index 75415d86a28..0806e18ce09 100644 --- a/cmd.c +++ b/cmd.c @@ -329,16 +329,21 @@ char **breakline(char *input, int *count) int c = 0; char *p; char **rval = calloc(sizeof(char *), 1); + char **tmp; while (rval && (p = qemu_strsep(&input, " ")) != NULL) { if (!*p) { continue; } c++; - rval = realloc(rval, sizeof(*rval) * (c + 1)); - if (!rval) { + tmp = realloc(rval, sizeof(*rval) * (c + 1)); + if (!tmp) { + free(rval); + rval = NULL; c = 0; break; + } else { + rval = tmp; } rval[c - 1] = p; rval[c] = NULL;