From 65d0b1910be587be4da82773fbbcf3938125cf60 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 22 Jun 2007 10:14:48 +0000 Subject: [PATCH] * qemud/driver.c: apply patch from Jim Meyering to handle realloc failure without leaking. Daniel --- ChangeLog | 5 +++++ qemud/driver.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 398ef9b5a6..30311f2890 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 22 12:14:40 CEST 2007 Daniel Veillard + + * qemud/driver.c: apply patch from Jim Meyering to handle realloc + failure without leaking. + Thu Jun 21 16:56:00 BST 2007 Richard W.M. Jones * docs/virsh.pod: Fixed a few typos and POD directives. diff --git a/qemud/driver.c b/qemud/driver.c index 1bcb66f516..6ef3aa4741 100644 --- a/qemud/driver.c +++ b/qemud/driver.c @@ -75,6 +75,7 @@ int qemudMonitorCommand(struct qemud_server *server ATTRIBUTE_UNUSED, for (;;) { char data[1024]; int got = read(vm->monitor, data, sizeof(data)); + char *b; if (got == 0) { if (buf) @@ -91,8 +92,11 @@ int qemudMonitorCommand(struct qemud_server *server ATTRIBUTE_UNUSED, free(buf); return -1; } - if (!(buf = realloc(buf, size+got+1))) + if (!(b = realloc(buf, size+got+1))) { + free(buf); return -1; + } + buf = b; memmove(buf+size, data, got); buf[size+got] = '\0'; size += got; -- GitLab