qemu/chardev
Daniel P. Berrangé cb8ded0f6d chardev: close QIOChannel before unref'ing
The chardev socket backend will unref the QIOChannel object while
it is still potentially open. When using TLS there could be a
pending TLS handshake taking place. If the channel is left open
then when the TLS handshake callback runs, it can end up accessing
free'd memory in the tcp_chr_tls_handshake method.

Closing the QIOChannel will unregister any pending handshake
source.

Reported-by: jiangyegen <jiangyegen@huawei.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2024-02-09 12:50:26 +00:00
..
baum.c replace TABs with spaces 2023-03-20 12:43:50 +01:00
char-console.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-fd.c Refactoring: refactor TFR() macro to RETRY_ON_EINTR() 2023-01-09 13:50:47 +01:00
char-fe.c chardev: use bool for fe_is_open 2024-01-12 13:23:48 +00:00
char-file.c chardev: Allow setting file chardev input file on the command line 2023-04-20 06:50:11 +02:00
char-hmp-cmds.c char: Move HMP commands from monitor/ to chardev/ 2023-02-04 07:56:54 +01:00
char-io.c QIOChannel: Add flags on io_writev and introduce io_flush callback 2022-05-16 13:56:24 +01:00
char-mux.c chardev: don't exit() straight away on C-a x 2021-11-04 10:32:01 +00:00
char-null.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
char-parallel.c chardev: clean up chardev-parallel.c 2023-01-11 10:44:33 +01:00
char-pipe.c Refactoring: refactor TFR() macro to RETRY_ON_EINTR() 2023-01-09 13:50:47 +01:00
char-pty.c chardev/char-pty: Avoid losing bytes when the other side just (re-)connected 2023-10-03 15:40:09 +04:00
char-ringbuf.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
char-serial.c chardev: replace qemu_set_nonblock() 2022-05-03 15:51:52 +04:00
char-socket.c chardev: close QIOChannel before unref'ing 2024-02-09 12:50:26 +00:00
char-stdio.c chardev: replace qemu_set_nonblock() 2022-05-03 15:51:52 +04:00
char-udp.c qapi chardev: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
char-win-stdio.c chardev/char-win-stdio: Support VT sequences on Windows 11 host 2023-06-27 17:08:56 +02:00
char-win.c chardev: Improve error report by calling error_setg_win32() 2020-03-09 13:36:15 +01:00
char.c chardev: use bool for fe_is_open 2024-01-12 13:23:48 +00:00
chardev-internal.h Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
meson.build configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
msmouse.c ui/input: Constify QemuInputHandler structure 2023-10-19 23:13:28 +02:00
spice.c ui/spice: Require spice-server >= 0.14.0 2023-01-19 13:30:01 +01:00
testdev.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
wctablet.c ui/input: Constify QemuInputHandler structure 2023-10-19 23:13:28 +02:00