]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
vnc: Fix a memleak in vnc_display_connect()
authorAlex Chen <alex.chen@huawei.com>
Thu, 26 Nov 2020 06:57:02 +0000 (06:57 +0000)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 15 Jan 2021 10:22:43 +0000 (11:22 +0100)
Free the 'sioc' when the qio_channel_socket_connect_sync() fails.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201126065702.35095-1-alex.chen@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
ui/vnc.c

index a0bf750767a262b453a8a66843df583c74d07dba..d4854d351bacfc34dd3bbf5b40c20d9f956d3556 100644 (file)
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3805,6 +3805,7 @@ static int vnc_display_connect(VncDisplay *vd,
     sioc = qio_channel_socket_new();
     qio_channel_set_name(QIO_CHANNEL(sioc), "vnc-reverse");
     if (qio_channel_socket_connect_sync(sioc, saddr[0], errp) < 0) {
+        object_unref(OBJECT(sioc));
         return -1;
     }
     vnc_connect(vd, sioc, false, false);