summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <halfline@gnome.org>2007-12-02 23:54:24 +0000
committerRay Strode <halfline@src.gnome.org>2007-12-02 23:54:24 +0000
commit667ca03003933deb0da6d5806ed64a9622fdd2c5 (patch)
tree22090d94315107af706b9361b9660629ca32ecaf
parent249796e59ace3c5b1739778d12a7eefb3ed1e2dc (diff)
downloadgconf-667ca03003933deb0da6d5806ed64a9622fdd2c5.tar.gz
Plug a few leaks found and fixed by Matthias Clasen (bug 475970)
2007-12-02 Ray Strode <halfline@gnome.org> Plug a few leaks found and fixed by Matthias Clasen (bug 475970) * gconf/gconf-database.c (gconf_database_notify_listeners): Clean up list of dead listeners * backends/xml-cache.c (cache_sync): clean up temporary list of syncs when we're done with it. * backends/markup-tree.c (markup_dir_free): free markup dir's list of entries before freeing the markup dir svn path=/trunk/; revision=2497
-rw-r--r--ChangeLog14
-rw-r--r--backends/markup-tree.c2
-rw-r--r--backends/xml-cache.c1
-rw-r--r--gconf/gconf-database.c2
4 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7790b168..1c4cc544 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2007-12-02 Ray Strode <halfline@gnome.org>
+
+ Plug a few leaks found and fixed by Matthias Clasen
+ (bug 475970)
+
+ * gconf/gconf-database.c (gconf_database_notify_listeners):
+ Clean up list of dead listeners
+
+ * backends/xml-cache.c (cache_sync): clean up temporary list
+ of syncs when we're done with it.
+
+ * backends/markup-tree.c (markup_dir_free): free markup dir's
+ list of entries before freeing the markup dir
+
2007-11-22 Kjartan Maraas <kmaraas@gnome.org>
* gconf/gconf-internals.c (gconf_key_key): Add check
diff --git a/backends/markup-tree.c b/backends/markup-tree.c
index ac69c0c7..8b9542e8 100644
--- a/backends/markup-tree.c
+++ b/backends/markup-tree.c
@@ -263,6 +263,7 @@ markup_dir_free (MarkupDir *dir)
tmp = tmp->next;
}
+ g_slist_free (dir->entries);
tmp = dir->subdirs;
while (tmp)
@@ -273,6 +274,7 @@ markup_dir_free (MarkupDir *dir)
tmp = tmp->next;
}
+ g_slist_free (dir->subdirs);
g_free (dir->name);
diff --git a/backends/xml-cache.c b/backends/xml-cache.c
index 79c25507..4186628d 100644
--- a/backends/xml-cache.c
+++ b/backends/xml-cache.c
@@ -272,6 +272,7 @@ cache_sync (Cache *cache,
/* sync it all */
g_slist_foreach (list, (GFunc) cache_sync_foreach, &sd);
+ g_slist_free (list);
/* If we deleted some subdirs, we may now be able to delete
* more parent dirs. So go ahead and do the sync again.
diff --git a/gconf/gconf-database.c b/gconf/gconf-database.c
index c4226a5a..822b88f5 100644
--- a/gconf/gconf-database.c
+++ b/gconf/gconf-database.c
@@ -1259,6 +1259,8 @@ gconf_database_notify_listeners (GConfDatabase *db,
tmp = g_slist_next(tmp);
}
+ g_slist_free (closure.dead);
+
if (notify_others)
{
g_return_if_fail (modified_sources != NULL);