[Spice-commits] server/smartcard-channel-client.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 30 09:28:52 UTC 2019


 server/smartcard-channel-client.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 889e6273bfe0b97ff5a5c53beb79e5b7715def7e
Author: Uri Lublin <uril at redhat.com>
Date:   Tue Jan 29 12:53:34 2019 +0200

    smartcard: do not keep weak ref when device is NULL
    
    When a client disconnects, smartcard_channel_client_set_char_device
    is called with a NULL "device" argument. In that case there is
    no need to take a weak reference to the device.
    
    Without this patch the server complains:
      g_object_add_weak_pointer: assertion 'G_IS_OBJECT (object)' failed
    
    and aborts when a second client attempts to connect.
    
    Signed-off-by: Uri Lublin <uril at redhat.com>
    Acked-by: Frediano Ziglio <fziglio at redhat.com>

diff --git a/server/smartcard-channel-client.c b/server/smartcard-channel-client.c
index 3b3fc27c..49e765b7 100644
--- a/server/smartcard-channel-client.c
+++ b/server/smartcard-channel-client.c
@@ -389,8 +389,10 @@ void smartcard_channel_client_set_char_device(SmartCardChannelClient *scc,
     }
 
     scc->priv->smartcard = device;
-    g_object_add_weak_pointer(G_OBJECT(scc->priv->smartcard),
-                              (gpointer*)&scc->priv->smartcard);
+    if (scc->priv->smartcard) {
+        g_object_add_weak_pointer(G_OBJECT(scc->priv->smartcard),
+                                  (gpointer*)&scc->priv->smartcard);
+    }
 }
 
 RedCharDeviceSmartcard* smartcard_channel_client_get_char_device(SmartCardChannelClient *scc)


More information about the Spice-commits mailing list