summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-06-20 14:13:16 +0200
committerThomas Haller <thaller@redhat.com>2017-06-29 09:56:32 +0200
commit880a7061f29153ce9662175668c2b1439739e9c8 (patch)
tree754baa985fd619cfc97e0d30188412bc487e95a8
parent45d61470981b998865acd5901987a4a4ef8c9320 (diff)
downloadNetworkManager-880a7061f29153ce9662175668c2b1439739e9c8.tar.gz
libnm: clear NMClientPrivate.object_manager in name_owner_changed()
Don't leave dangling pointers.
-rw-r--r--libnm/nm-client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libnm/nm-client.c b/libnm/nm-client.c
index 1349127718..d1dfff4651 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 ();