[next] telepathy-glib: logger: fix several string and date leaks

Simon McVittie smcv at kemper.freedesktop.org
Tue Mar 18 07:03:27 PDT 2014


Module: telepathy-glib
Branch: next
Commit: a4103cf87192a7e57d1b762438f53cef3c3e61fa
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=a4103cf87192a7e57d1b762438f53cef3c3e61fa

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Mar 18 13:13:06 2014 +0000

logger: fix several string and date leaks

Reviewed-by: Guillaume Desmottes

---

 telepathy-logger/log-store-pidgin.c |    4 ++++
 telepathy-logger/log-store-xml.c    |   11 +++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/telepathy-logger/log-store-pidgin.c b/telepathy-logger/log-store-pidgin.c
index 8acd6cb..95ab29a 100644
--- a/telepathy-logger/log-store-pidgin.c
+++ b/telepathy-logger/log-store-pidgin.c
@@ -702,6 +702,7 @@ log_store_pidgin_get_events_for_files (TplLogStore *self,
       if (hits == NULL)
         {
           g_strfreev (lines);
+          g_free (date_str);
           continue;
         }
 
@@ -709,6 +710,7 @@ log_store_pidgin_get_events_for_files (TplLogStore *self,
         {
           g_strfreev (lines);
           g_strfreev (hits);
+          g_free (date_str);
           continue;
         }
 
@@ -850,6 +852,7 @@ log_store_pidgin_get_events_for_files (TplLogStore *self,
           g_free (sender_name);
           g_free (time_str);
           g_object_unref (sender);
+          g_free (body);
 
           i = j - 1;
         }
@@ -859,6 +862,7 @@ log_store_pidgin_get_events_for_files (TplLogStore *self,
       g_free (own_user);
       g_free (date);
       g_free (protocol);
+      g_free (date_str);
 
       g_strfreev (lines);
     }
diff --git a/telepathy-logger/log-store-xml.c b/telepathy-logger/log-store-xml.c
index c3dc6b8..ee52cdc 100644
--- a/telepathy-logger/log-store-xml.c
+++ b/telepathy-logger/log-store-xml.c
@@ -520,6 +520,7 @@ add_text_event (TplLogStoreXml *self,
           guint edit_timestamp;
           g_string_append_printf (event, " supersedes-token='%s'",
               supersedes_token);
+          g_free (supersedes_token);
 
           edit_timestamp = tpl_text_event_get_edit_timestamp (message);
           if (edit_timestamp != 0)
@@ -1505,6 +1506,10 @@ log_store_xml_get_all_files (TplLogStoreXml *self,
               log_store_xml_get_all_files (self, filename, type_mask));
           g_free (filename);
         }
+      else
+        {
+          g_free (filename);
+        }
     }
 
 out:
@@ -1516,7 +1521,9 @@ out:
   return files;
 }
 
-
+/*
+ * @files: (transfer full) (element-type utf8):
+ */
 static GList *
 _log_store_xml_search_in_files (TplLogStoreXml *self,
     const gchar *text,
@@ -1599,7 +1606,7 @@ out:
   if (regex != NULL)
     g_regex_unref (regex);
 
-  g_list_free (files);
+  g_list_free_full (files, g_free);
   return hits;
 }
 



More information about the telepathy-commits mailing list