From a9691925d9a5e2eb32009de2cc6bfa4b9f168945 Mon Sep 17 00:00:00 2001 From: Andrew Potter Date: Mon, 19 Nov 2012 10:33:40 -0600 Subject: [PATCH] droute: Fix memory leak in path cleanup Frees all allocated memory. g_ptr_array_free(..., FALSE) was probably being called to avoid a destructor being called on the elements of the array that point to static data. But that method returns an array that must still be g_free()d. https://bugzilla.gnome.org/show_bug.cgi?id=688363 --- droute/droute.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/droute/droute.c b/droute/droute.c index f1ff993..0a0bfd6 100644 --- a/droute/droute.c +++ b/droute/droute.c @@ -107,7 +107,7 @@ path_new (DRouteContext *cnx, new_path->properties = g_hash_table_new_full ((GHashFunc)str_pair_hash, str_pair_equal, g_free, - NULL); + g_free); new_path->introspect_children_cb = introspect_children_cb; new_path->introspect_children_data = introspect_children_data; @@ -123,7 +123,7 @@ path_free (DRoutePath *path, gpointer user_data) g_free (path->path); g_string_chunk_free (path->chunks); g_ptr_array_free (path->interfaces, TRUE); - g_ptr_array_free (path->introspection, FALSE); + g_free(g_ptr_array_free (path->introspection, FALSE)); g_hash_table_destroy (path->methods); g_hash_table_destroy (path->properties); } -- 2.7.4