提交 5e6b701a 编写于 作者: S Stefano Stabellini 提交者: Alexander Graf

xen_console: fix memory leak

con_init leaks the string "type", fix it.
Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 ad35a7da
...@@ -180,6 +180,7 @@ static int con_init(struct XenDevice *xendev) ...@@ -180,6 +180,7 @@ static int con_init(struct XenDevice *xendev)
{ {
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev); struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
char *type, *dom; char *type, *dom;
int ret = 0;
/* setup */ /* setup */
dom = xs_get_domain_path(xenstore, con->xendev.dom); dom = xs_get_domain_path(xenstore, con->xendev.dom);
...@@ -189,7 +190,8 @@ static int con_init(struct XenDevice *xendev) ...@@ -189,7 +190,8 @@ static int con_init(struct XenDevice *xendev)
type = xenstore_read_str(con->console, "type"); type = xenstore_read_str(con->console, "type");
if (!type || strcmp(type, "ioemu") != 0) { if (!type || strcmp(type, "ioemu") != 0) {
xen_be_printf(xendev, 1, "not for me (type=%s)\n", type); xen_be_printf(xendev, 1, "not for me (type=%s)\n", type);
return -1; ret = -1;
goto out;
} }
if (!serial_hds[con->xendev.dev]) if (!serial_hds[con->xendev.dev])
...@@ -198,7 +200,9 @@ static int con_init(struct XenDevice *xendev) ...@@ -198,7 +200,9 @@ static int con_init(struct XenDevice *xendev)
else else
con->chr = serial_hds[con->xendev.dev]; con->chr = serial_hds[con->xendev.dev];
return 0; out:
qemu_free(type);
return ret;
} }
static int con_connect(struct XenDevice *xendev) static int con_connect(struct XenDevice *xendev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册