[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 10/14] qemu-char: minor mux chardev fixes
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 10/14] qemu-char: minor mux chardev fixes |
Date: |
Fri, 28 Jun 2013 22:17:41 +0400 |
From: Gerd Hoffmann <address@hidden>
mux failure path has a memory leak. creating a mux chardev can't
fail though, so just assert() that instead of fixing an error path
which never ever runs anyway ...
Also fix bid being leaked while being at it.
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
qemu-char.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index 90754e6..392de29 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3186,7 +3186,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
ChardevBackend *backend = g_new0(ChardevBackend, 1);
ChardevReturn *ret = NULL;
const char *id = qemu_opts_id(opts);
- const char *bid = NULL;
+ char *bid = NULL;
if (qemu_opt_get_bool(opts, "mux", 0)) {
bid = g_strdup_printf("%s-base", id);
@@ -3213,9 +3213,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
backend->kind = CHARDEV_BACKEND_KIND_MUX;
backend->mux->chardev = g_strdup(bid);
ret = qmp_chardev_add(id, backend, errp);
- if (error_is_set(errp)) {
- goto qapi_out;
- }
+ assert(!error_is_set(errp));
}
chr = qemu_chr_find(id);
@@ -3223,6 +3221,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
qapi_out:
qapi_free_ChardevBackend(backend);
qapi_free_ChardevReturn(ret);
+ g_free(bid);
return chr;
}
--
1.7.10.4
- [Qemu-trivial] [PULL 05/14] qemu-char: use more specific error_setg_* variants, (continued)
- [Qemu-trivial] [PULL 05/14] qemu-char: use more specific error_setg_* variants, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 04/14] qemu-char: check optional fields using has_*, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 08/14] qemu-char: don't leak opts on error, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 13/14] qemu-socket: don't leak opts on error, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 14/14] doc: we use seabios, not bochs bios, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 07/14] qemu-char: fix documentation for telnet+wait socket flags, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 06/14] qemu-char: print notification to stderr, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 12/14] qemu-char: report udp backend errors, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 11/14] qemu-char: add -chardev mux support, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 09/14] qemu-char: use ChardevBackendKind in CharDriver, Michael Tokarev, 2013/06/28
- [Qemu-trivial] [PULL 10/14] qemu-char: minor mux chardev fixes,
Michael Tokarev <=