| From c4a5b67ffac094aa1653de8e9369585b0bc4ee46 Mon Sep 17 00:00:00 2001 |
| From: Gerd Hoffmann <kraxel@redhat.com> |
| Date: Mon, 14 Oct 2013 13:35:19 +0200 |
| Subject: [PATCH 12/18] qemu-char: minor mux chardev fixes |
| |
| RH-Author: Gerd Hoffmann <kraxel@redhat.com> |
| Message-id: <1381757723-23134-12-git-send-email-kraxel@redhat.com> |
| Patchwork-id: 54861 |
| O-Subject: [RHEL-7 qemu-kvm PATCH 11/15] qemu-char: minor mux chardev fixes |
| Bugzilla: 922010 |
| RH-Acked-by: Hans de Goede <hdegoede@redhat.com> |
| RH-Acked-by: Laszlo Ersek <lersek@redhat.com> |
| RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com> |
| |
| 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 <kraxel@redhat.com> |
| Reviewed-by: Laszlo Ersek <lersek@redhat.com> |
| Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> |
| (cherry picked from commit dc2c4eca89ec5ee7b7a4c2563c991a14a7c5ee84) |
| |
| qemu-char.c | 7 +++---- |
| 1 file changed, 3 insertions(+), 4 deletions(-) |
| |
| Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> |
| |
| qemu-char.c | 7 +++---- |
| 1 files changed, 3 insertions(+), 4 deletions(-) |
| |
| diff --git a/qemu-char.c b/qemu-char.c |
| index b41bda4..145fd30 100644 |
| |
| |
| @@ -3213,7 +3213,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); |
| @@ -3240,9 +3240,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); |
| @@ -3251,6 +3249,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.1 |
| |