From 3dd9a430fa4afa9ad951fd5d9e7e75a7e2a14d85 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 20 Jun 2017 14:13:16 +0200 Subject: [PATCH] libnm: clear NMClientPrivate.object_manager in name_owner_changed() Don't leave dangling pointers. (cherry picked from commit 880a7061f29153ce9662175668c2b1439739e9c8) --- libnm/nm-client.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libnm/nm-client.c b/libnm/nm-client.c index 43af72d57e..1a474930d1 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -2497,10 +2497,12 @@ name_owner_changed (GObject *object, GParamSpec *pspec, gpointer user_data) GDBusObjectManager *object_manager = G_DBUS_OBJECT_MANAGER (object); gchar *name_owner; + nm_assert (object_manager == priv->object_manager); + name_owner = g_dbus_object_manager_client_get_name_owner (G_DBUS_OBJECT_MANAGER_CLIENT (object)); if (name_owner) { g_free (name_owner); - g_object_unref (object_manager); + g_clear_object (&priv->object_manager); if (priv->new_object_manager_cancellable) g_cancellable_cancel (priv->new_object_manager_cancellable); priv->new_object_manager_cancellable = g_cancellable_new ();