From: Andrew Potter Date: Mon, 19 Nov 2012 16:33:40 +0000 (-0600) Subject: droute: Fix memory leak in path cleanup X-Git-Tag: AT_SPI2_ATK_2_12_0~54 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=commitdiff_plain;h=a9691925d9a5e2eb32009de2cc6bfa4b9f168945 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 --- 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); }