1b5975d6bSopenharmony_ciFrom 1da208cddc19cad05ccf4b798a99f7045e41ffc4 Mon Sep 17 00:00:00 2001 2b5975d6bSopenharmony_ciFrom: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> 3b5975d6bSopenharmony_ciDate: Fri, 2 Sep 2022 20:26:06 +0200 4b5975d6bSopenharmony_ciSubject: [PATCH] gio/tests/gdbus-proxy-threads: Unref GVariant's that we own 5b5975d6bSopenharmony_ci 6b5975d6bSopenharmony_ciThis test is leaking various GVariant's that we are supposed to unref, 7b5975d6bSopenharmony_cileading the valgrind CI job to complain about. 8b5975d6bSopenharmony_ci 9b5975d6bSopenharmony_ciHelps with: https://gitlab.gnome.org/GNOME/glib/-/issues/333 10b5975d6bSopenharmony_ci 11b5975d6bSopenharmony_ciConflict:NA 12b5975d6bSopenharmony_ciReference:https://gitlab.gnome.org/GNOME/glib/-/commit/1da208cddc19cad05ccf4b798a99f7045e41ffc4 13b5975d6bSopenharmony_ci 14b5975d6bSopenharmony_ci--- 15b5975d6bSopenharmony_ci gio/tests/gdbus-proxy-threads.c | 12 ++++++++++-- 16b5975d6bSopenharmony_ci 1 file changed, 10 insertions(+), 2 deletions(-) 17b5975d6bSopenharmony_ci 18b5975d6bSopenharmony_cidiff --git a/gio/tests/gdbus-proxy-threads.c b/gio/tests/gdbus-proxy-threads.c 19b5975d6bSopenharmony_ciindex 76b857e731..a0a38d07cd 100644 20b5975d6bSopenharmony_ci--- a/gio/tests/gdbus-proxy-threads.c 21b5975d6bSopenharmony_ci+++ b/gio/tests/gdbus-proxy-threads.c 22b5975d6bSopenharmony_ci@@ -119,13 +119,17 @@ request_name_cb (GObject *source, 23b5975d6bSopenharmony_ci GDBusConnection *connection = G_DBUS_CONNECTION (source); 24b5975d6bSopenharmony_ci GError *error = NULL; 25b5975d6bSopenharmony_ci GVariant *var; 26b5975d6bSopenharmony_ci+ GVariant *child; 27b5975d6bSopenharmony_ci 28b5975d6bSopenharmony_ci var = g_dbus_connection_call_finish (connection, res, &error); 29b5975d6bSopenharmony_ci g_assert_no_error (error); 30b5975d6bSopenharmony_ci- g_assert_cmpuint (g_variant_get_uint32 (g_variant_get_child_value (var, 0)), 31b5975d6bSopenharmony_ci+ child = g_variant_get_child_value (var, 0); 32b5975d6bSopenharmony_ci+ g_assert_cmpuint (g_variant_get_uint32 (child), 33b5975d6bSopenharmony_ci ==, DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER); 34b5975d6bSopenharmony_ci 35b5975d6bSopenharmony_ci release_name (connection, TRUE); 36b5975d6bSopenharmony_ci+ g_variant_unref (child); 37b5975d6bSopenharmony_ci+ g_variant_unref (var); 38b5975d6bSopenharmony_ci } 39b5975d6bSopenharmony_ci 40b5975d6bSopenharmony_ci static void 41b5975d6bSopenharmony_ci@@ -154,11 +158,13 @@ release_name_cb (GObject *source, 42b5975d6bSopenharmony_ci GDBusConnection *connection = G_DBUS_CONNECTION (source); 43b5975d6bSopenharmony_ci GError *error = NULL; 44b5975d6bSopenharmony_ci GVariant *var; 45b5975d6bSopenharmony_ci+ GVariant *child; 46b5975d6bSopenharmony_ci int i; 47b5975d6bSopenharmony_ci 48b5975d6bSopenharmony_ci var = g_dbus_connection_call_finish (connection, res, &error); 49b5975d6bSopenharmony_ci g_assert_no_error (error); 50b5975d6bSopenharmony_ci- g_assert_cmpuint (g_variant_get_uint32 (g_variant_get_child_value (var, 0)), 51b5975d6bSopenharmony_ci+ child = g_variant_get_child_value (var, 0); 52b5975d6bSopenharmony_ci+ g_assert_cmpuint (g_variant_get_uint32 (child), 53b5975d6bSopenharmony_ci ==, DBUS_RELEASE_NAME_REPLY_RELEASED); 54b5975d6bSopenharmony_ci 55b5975d6bSopenharmony_ci /* generate some rapid NameOwnerChanged signals to try to trigger crashes */ 56b5975d6bSopenharmony_ci@@ -170,6 +176,8 @@ release_name_cb (GObject *source, 57b5975d6bSopenharmony_ci 58b5975d6bSopenharmony_ci /* wait for dbus-daemon to catch up */ 59b5975d6bSopenharmony_ci request_name (connection, TRUE); 60b5975d6bSopenharmony_ci+ g_variant_unref (child); 61b5975d6bSopenharmony_ci+ g_variant_unref (var); 62b5975d6bSopenharmony_ci } 63b5975d6bSopenharmony_ci 64b5975d6bSopenharmony_ci static void 65b5975d6bSopenharmony_ci-- 66b5975d6bSopenharmony_ciGitLab 67b5975d6bSopenharmony_ci 68