mirror of https://gitlab.com/qemu-project/qemu
xen_console: fix memory leak
con_init leaks the string "type", fix it. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
ad35a7da1a
commit
5e6b701aba
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue