[gtk-vnc] Fix memory leaks



commit 4d9da418b2ba967cd6bbf64ea268b2daa7adb438
Author: Eric R. Schulz <eric ers35 com>
Date:   Thu Aug 18 13:39:19 2016 -0400

    Fix memory leaks
    
    Call gnutls_deinit() after gnutls_bye().
    Call g_free() in finalize().
    Call g_free() in vnc_grab_sequence_free().

 src/vncconnection.c   |    1 +
 src/vncdisplay.c      |    5 +++++
 src/vncgrabsequence.c |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/src/vncconnection.c b/src/vncconnection.c
index 61f74b4..1c1636f 100644
--- a/src/vncconnection.c
+++ b/src/vncconnection.c
@@ -5024,6 +5024,7 @@ static void vnc_connection_close(VncConnection *conn)
 
     if (priv->tls_session) {
         gnutls_bye(priv->tls_session, GNUTLS_SHUT_RDWR);
+        gnutls_deinit(priv->tls_session);
         priv->tls_session = NULL;
     }
 #ifdef HAVE_SASL
diff --git a/src/vncdisplay.c b/src/vncdisplay.c
index ba84296..5039694 100644
--- a/src/vncdisplay.c
+++ b/src/vncdisplay.c
@@ -2127,6 +2127,11 @@ static void vnc_display_finalize (GObject *obj)
         priv->vncgrabseq = NULL;
     }
 
+    if (priv->vncactiveseq) {
+        g_free(priv->vncactiveseq);
+        priv->vncactiveseq = NULL;
+    }
+
     g_slist_free (priv->preferable_auths);
     g_slist_free (priv->preferable_vencrypt_subauths);
 
diff --git a/src/vncgrabsequence.c b/src/vncgrabsequence.c
index 072e2d9..fc06011 100644
--- a/src/vncgrabsequence.c
+++ b/src/vncgrabsequence.c
@@ -134,6 +134,7 @@ VncGrabSequence *vnc_grab_sequence_copy(VncGrabSequence *sequence)
  */
 void vnc_grab_sequence_free(VncGrabSequence *sequence)
 {
+    g_free(sequence->keysyms);
     g_slice_free(VncGrabSequence, sequence);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]