[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 23/26] char: fix missing return in error path for c
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 23/26] char: fix missing return in error path for chardev TLS init |
Date: |
Sat, 8 Oct 2016 11:58:09 +0300 |
From: "Daniel P. Berrange" <address@hidden>
If the qio_channel_tls_new_(server|client) methods fail,
we disconnect the client. Unfortunately a missing return
means we then go on to try and run the TLS handshake on
a NULL I/O channel. This gives predictably segfaulty
results.
The main way to trigger this is to request a bogus TLS
priority string for the TLS credentials. e.g.
-object tls-creds-x509,id=tls0,priority=wibble,...
Most other ways appear impossible to trigger except
perhaps if OOM conditions cause gnutls initialization
to fail.
Signed-off-by: Daniel P. Berrange <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
qemu-char.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/qemu-char.c b/qemu-char.c
index fb456ce..48a45ef 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3132,6 +3132,7 @@ static void tcp_chr_tls_init(CharDriverState *chr)
if (tioc == NULL) {
error_free(err);
tcp_chr_disconnect(chr);
+ return;
}
object_unref(OBJECT(s->ioc));
s->ioc = QIO_CHANNEL(tioc);
--
2.1.4
- [Qemu-trivial] [PULL 17/26] usb: ehci: fix memory leak in ehci_process_itd, (continued)
- [Qemu-trivial] [PULL 17/26] usb: ehci: fix memory leak in ehci_process_itd, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 11/26] MAINTAINERS: Add some more pattern to recognize all win32 related files, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 03/26] tests: Ignore test executables, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 09/26] MAINTAINERS: Add header files to CRIS section, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 19/26] m68k: change default system clock for m5208evb, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 26/26] net/filter-mirror: Fix mirror initial check typo, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 21/26] bitmap: refine and move BITMAP_{FIRST/LAST}_WORD_MASK, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 22/26] CODING_STYLE: Fix a typo ("have" vs. "has"), Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 05/26] MAINTAINERS: Add some more files to the HMP section, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 07/26] MAINTAINERS: Add some SPARC machine related files, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 23/26] char: fix missing return in error path for chardev TLS init,
Michael Tokarev <=
- [Qemu-trivial] [PULL 02/26] bt-hci-csr: drop unused argument, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 20/26] build-sys: fix find-in-path, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 04/26] MAINTAINERS: Add files to the Moxie section., Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 06/26] MAINTAINERS: Add include/hw/audio/ to audio section, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 18/26] exec: remove unused compacted argument, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 15/26] maint: Add module_block.h to .gitignore, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 12/26] MAINTAINERS: Add usermode related config files, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 25/26] virtio: rename the bar index field name in VirtIOPCIProxy, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 24/26] linux-user: include <poll.h> instead of <sys/poll.h>, Michael Tokarev, 2016/10/08
- [Qemu-trivial] [PULL 08/26] MAINTAINERS: Add some more files to the virtio section, Michael Tokarev, 2016/10/08