aboutsummaryrefslogtreecommitdiff
path: root/hw/input
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2016-06-27 16:48:49 +0100
committerGerd Hoffmann <kraxel@redhat.com>2016-07-12 08:34:13 +0200
commitea697449884d83b83fefbc9cd87bdde0c94b49d6 (patch)
tree81276707372c5f83ec324df08a45dc4cef30eccf /hw/input
parent095497ffc66b7f031ff2a17f1e50f5cb105ce588 (diff)
downloadqemu-ea697449884d83b83fefbc9cd87bdde0c94b49d6.zip
qemu-ea697449884d83b83fefbc9cd87bdde0c94b49d6.tar.gz
qemu-ea697449884d83b83fefbc9cd87bdde0c94b49d6.tar.bz2
ui: avoid crash if vnc client disconnects with writes pending
The vnc_client_read() function is called from the vnc_client_io() event handler callback when there is incoming data to process. If it detects that the client has disconnected, then it will trigger cleanup and free'ing of the VncState client struct at a safe time. Unfortunately, the vnc_client_io() event handler will also call vnc_client_write() to handle any outgoing data writes. So if vnc_client_io() was invoked with both G_IO_IN and G_IO_OUT events set, and the client disconnects, we may try to write to a client which has just been freed. https://bugs.launchpad.net/qemu/+bug/1594861 Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 1467042529-3372-1-git-send-email-berrange@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/input')
0 files changed, 0 insertions, 0 deletions