From patchwork Fri Jun 24 15:59:46 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: xen_console: fix memory leak From: Stefano Stabellini X-Patchwork-Id: 101824 Message-Id: <1308931186-11387-1-git-send-email-stefano.stabellini@eu.citrix.com> To: qemu-devel@nongnu.org Cc: xen-devel@lists.xensource.com, agraf@suse.de, Stefano Stabellini Date: Fri, 24 Jun 2011 16:59:46 +0100 From: Stefano Stabellini con_init leaks the string "type", fix it. Signed-off-by: Stefano Stabellini --- hw/xen_console.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/xen_console.c b/hw/xen_console.c index e88714f..519d5f5 100644 --- a/hw/xen_console.c +++ b/hw/xen_console.c @@ -180,6 +180,7 @@ static int con_init(struct XenDevice *xendev) { struct XenConsole *con = container_of(xendev, struct XenConsole, xendev); char *type, *dom; + int ret = 0; /* setup */ dom = xs_get_domain_path(xenstore, con->xendev.dom); @@ -189,7 +190,8 @@ static int con_init(struct XenDevice *xendev) type = xenstore_read_str(con->console, "type"); if (!type || strcmp(type, "ioemu") != 0) { xen_be_printf(xendev, 1, "not for me (type=%s)\n", type); - return -1; + ret = -1; + goto out; } if (!serial_hds[con->xendev.dev]) @@ -198,7 +200,9 @@ static int con_init(struct XenDevice *xendev) else con->chr = serial_hds[con->xendev.dev]; - return 0; +out: + qemu_free(type); + return ret; } static int con_initialise(struct XenDevice *xendev)