[gobject-introspection] tests: Fix memory leaks in transfer full/container inout tests
- From: Simon Feltman <sfeltman src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] tests: Fix memory leaks in transfer full/container inout tests
- Date: Thu, 10 Oct 2013 22:42:19 +0000 (UTC)
commit 002c4b9550e5a5db746b3f8f9a8dc5748cf338cb
Author: Simon Feltman <sfeltman src gnome org>
Date: Thu Oct 10 01:21:20 2013 -0700
tests: Fix memory leaks in transfer full/container inout tests
Make sure to call the various free functions for container tests where
inout arguments are marked transfer full or container.
https://bugzilla.gnome.org/show_bug.cgi?id=709796
tests/gimarshallingtests.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c
index 02c33de..0933339 100644
--- a/tests/gimarshallingtests.c
+++ b/tests/gimarshallingtests.c
@@ -2014,6 +2014,7 @@ gi_marshalling_tests_garray_utf8_container_inout (GArray **array_)
g_array_append_val (result, val3);
g_array_append_val (result, val4);
+ g_array_unref (*array_);
*array_ = result;
}
@@ -2044,6 +2045,7 @@ gi_marshalling_tests_garray_utf8_full_inout (GArray **array_)
val = g_strdup ("1");
g_array_append_val (result, val);
+ g_array_unref (*array_);
*array_ = result;
}
@@ -2231,6 +2233,7 @@ gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_)
g_ptr_array_add (result, (gpointer) val3);
g_ptr_array_add (result, (gpointer) val4);
+ g_ptr_array_unref (*parray_);
*parray_ = result;
}
@@ -2261,6 +2264,7 @@ gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_)
val = g_strdup ("1");
g_ptr_array_add (result, (gpointer) val);
+ g_ptr_array_unref (*parray_);
*parray_ = result;
}
@@ -2607,6 +2611,7 @@ gi_marshalling_tests_glist_utf8_container_inout (GList **list)
result = g_list_prepend (result, "-1");
result = g_list_prepend (result, "-2");
+ g_list_free (*list);
*list = result;
}
@@ -2629,6 +2634,7 @@ gi_marshalling_tests_glist_utf8_full_inout (GList **list)
result = g_list_prepend (result, g_strdup ("-1"));
result = g_list_prepend (result, g_strdup ("-2"));
+ g_list_free_full (*list, g_free);
*list = result;
}
@@ -2834,6 +2840,7 @@ gi_marshalling_tests_gslist_utf8_container_inout (GSList **list)
result = g_slist_prepend (result, "-1");
result = g_slist_prepend (result, "-2");
+ g_slist_free (*list);
*list = result;
}
@@ -2856,6 +2863,7 @@ gi_marshalling_tests_gslist_utf8_full_inout (GSList **list)
result = g_slist_prepend (result, g_strdup ("-1"));
result = g_slist_prepend (result, g_strdup ("-2"));
+ g_slist_free_full (*list, g_free);
*list = result;
}
@@ -3060,6 +3068,7 @@ gi_marshalling_tests_ghashtable_utf8_container_inout (GHashTable **hash_table)
g_hash_table_insert (result, "0", "0");
g_hash_table_insert (result, "1", "1");
+ g_hash_table_unref (*hash_table);
*hash_table = result;
}
@@ -3082,6 +3091,7 @@ gi_marshalling_tests_ghashtable_utf8_full_inout (GHashTable **hash_table)
g_hash_table_insert (result, g_strdup ("0"), g_strdup ("0"));
g_hash_table_insert (result, g_strdup ("1"), g_strdup ("1"));
+ g_hash_table_unref (*hash_table);
*hash_table = result;
}
@@ -3805,6 +3815,7 @@ gi_marshalling_tests_boxed_struct_inout (GIMarshallingTestsBoxedStruct **struct_
{
g_assert_cmpint ((*struct_)->long_, ==, 42);
+ g_boxed_free (gi_marshalling_tests_boxed_struct_get_type(), *struct_);
(*struct_) = g_slice_new0 (GIMarshallingTestsBoxedStruct);
(*struct_)->long_ = 0;
}
@@ -4233,6 +4244,7 @@ gi_marshalling_tests_object_full_inout (GIMarshallingTestsObject **object)
{
g_assert_cmpint ((*object)->int_, ==, 42);
+ g_object_unref (*object);
*object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]