changeset 2212:778280b01bcb

Fix a few memory leaks
author Mikael Berthe <mikael@lilotux.net>
date Thu, 05 Nov 2015 15:08:47 +0100
parents 902f271743b0
children 0c78d31c753d
files mcabber/mcabber/caps.c mcabber/mcabber/pgp.c mcabber/mcabber/xmpp.c
diffstat 3 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/mcabber/caps.c	Sun Oct 25 14:55:12 2015 +0100
+++ b/mcabber/mcabber/caps.c	Thu Nov 05 15:08:47 2015 +0100
@@ -101,7 +101,7 @@
   c->features = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
   c->identities = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, identity_destroy);
   c->forms = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, form_destroy);
-  g_hash_table_insert(caps_cache, g_strdup(hash), c);
+  g_hash_table_replace(caps_cache, g_strdup(hash), c);
 }
 
 void caps_remove(const char *hash)
--- a/mcabber/mcabber/pgp.c	Sun Oct 25 14:55:12 2015 +0100
+++ b/mcabber/mcabber/pgp.c	Thu Nov 05 15:08:47 2015 +0100
@@ -100,6 +100,7 @@
     }
   }
 
+  gpgme_release(ctx);
   gpg.enabled = 1;
   return 0;
 }
--- a/mcabber/mcabber/xmpp.c	Sun Oct 25 14:55:12 2015 +0100
+++ b/mcabber/mcabber/xmpp.c	Thu Nov 05 15:08:47 2015 +0100
@@ -1547,6 +1547,7 @@
 {
   int i;
   const char *xmlns = NULL;
+  char *nodestr;
   LmMessageNode *x;
   LmMessageSubType mstype = lm_message_get_sub_type(m);
 
@@ -1557,8 +1558,9 @@
   }
 
   if (mstype == LM_MESSAGE_SUB_TYPE_RESULT) {
-    scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ result? %s",
-                 lm_message_node_to_string(m->node));
+    nodestr = lm_message_node_to_string(m->node);
+    scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ result? %s", nodestr);
+    g_free(nodestr);
     return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
   }
 
@@ -1575,8 +1577,9 @@
       (mstype == LM_MESSAGE_SUB_TYPE_GET))
     send_iq_error(connection, m, XMPP_ERROR_NOT_IMPLEMENTED);
 
-  scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ: %s",
-               lm_message_node_to_string(m->node));
+  nodestr = lm_message_node_to_string(m->node);
+  scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ: %s", nodestr);
+  g_free(nodestr);
 
   scr_LogPrint(LPRINT_NORMAL, "Received unhandled IQ request from <%s>.",
                lm_message_get_from(m));