From patchwork Mon Nov 7 09:26:58 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/5] cmd: Fix potential memory leak Date: Sun, 06 Nov 2011 23:26:58 -0000 From: Stefan Hajnoczi X-Patchwork-Id: 124021 Message-Id: <1320658020-4374-4-git-send-email-stefanha@linux.vnet.ibm.com> To: Cc: Anthony Liguori , Stefan Hajnoczi , Pavel Borzenkov From: Pavel Borzenkov Signed-off-by: Pavel Borzenkov Signed-off-by: Stefan Hajnoczi --- cmd.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd.c b/cmd.c index 75415d8..0806e18 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;