[gobject-introspection] girepository: Fix memory leak in g_irepository_get_dependencies()
- From: Garrett Regier <gregier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] girepository: Fix memory leak in g_irepository_get_dependencies()
- Date: Mon, 23 Nov 2015 05:17:36 +0000 (UTC)
commit 7c529615cf9753038f54734a82dee11aecc2984e
Author: Garrett Regier <garrettregier gmail com>
Date: Fri Nov 20 23:01:21 2015 -0800
girepository: Fix memory leak in g_irepository_get_dependencies()
The transitive_dependencies GHashTable was being leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=758448
girepository/girepository.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/girepository/girepository.c b/girepository/girepository.c
index bb91977..82ee8a4 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -559,12 +559,12 @@ g_irepository_get_dependencies (GIRepository *repository,
g_return_val_if_fail (namespace != NULL, NULL);
repository = get_repository (repository);
- transitive_dependencies = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, NULL);
- /* Load the dependencies. */
typelib = get_registered (repository, namespace, NULL);
g_return_val_if_fail (typelib != NULL, NULL);
+
+ /* Load the dependencies. */
+ transitive_dependencies = g_hash_table_new (g_str_hash, g_str_equal);
get_typelib_dependencies_transitive (repository, typelib,
transitive_dependencies);
@@ -579,6 +579,8 @@ g_irepository_get_dependencies (GIRepository *repository,
g_hash_table_iter_steal (&iter);
}
+ g_hash_table_unref (transitive_dependencies);
+
/* Add a NULL terminator. */
g_ptr_array_add (out, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]