f375e62ad9
Fix libvirt + seccomp combo (bz #855162) Fix scsi hotplug crash (bz #879657) Fix QOM refcount crash (bz #881486)
55 lines
1.7 KiB
Diff
55 lines
1.7 KiB
Diff
From 07a824f03fe1e820b5a0f19c380b19595ac0caa9 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
Date: Wed, 10 Oct 2012 14:30:58 +0200
|
|
Subject: [PATCH] vnc: fix "info vnc" with "-vnc ..., reverse=on"
|
|
|
|
When reverse connection is in use, there is no active VNC server
|
|
socket. Because of this, getsockopt(-1, ...) is attempted and
|
|
the following error is emitted:
|
|
|
|
$ socat TCP-LISTEN:5900,reuseaddr TCP-LISTEN:5901,reuseaddr &
|
|
$ x86_64-softmmu/qemu-system-x86_64 -vnc localhost:5900,reverse -monitor stdio
|
|
QEMU 1.2.50 monitor - type 'help' for more information
|
|
(qemu) info vnc
|
|
An undefined error has occurred
|
|
|
|
Because however the host, family, service and auth fields are
|
|
optional, we can just exit if there is no active server socket.
|
|
|
|
$ x86_64-softmmu/qemu-system-x86_64 -vnc localhost:5900,reverse -monitor stdio
|
|
QEMU 1.2.50 monitor - type 'help' for more information
|
|
(qemu) info vnc
|
|
Server:
|
|
Client:
|
|
address: 127.0.0.1:5900
|
|
x509_dname: none
|
|
username: none
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
(cherry picked from commit 417b0b88904fe1dd8c41bff8092dfbab0134d9cb)
|
|
|
|
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
---
|
|
ui/vnc.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/ui/vnc.c b/ui/vnc.c
|
|
index 18ec101..66ae930 100644
|
|
--- a/ui/vnc.c
|
|
+++ b/ui/vnc.c
|
|
@@ -372,6 +372,10 @@ VncInfo *qmp_query_vnc(Error **errp)
|
|
}
|
|
}
|
|
|
|
+ if (vnc_display->lsock == -1) {
|
|
+ return info;
|
|
+ }
|
|
+
|
|
if (getsockname(vnc_display->lsock, (struct sockaddr *)&sa,
|
|
&salen) == -1) {
|
|
error_set(errp, QERR_UNDEFINED_ERROR);
|
|
--
|
|
1.8.0.2
|
|
|