diff options
author | Thomas Haller <thaller@redhat.com> | 2017-06-20 14:13:16 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-06-29 09:56:32 +0200 |
commit | 880a7061f29153ce9662175668c2b1439739e9c8 (patch) | |
tree | 754baa985fd619cfc97e0d30188412bc487e95a8 | |
parent | 45d61470981b998865acd5901987a4a4ef8c9320 (diff) | |
download | NetworkManager-880a7061f29153ce9662175668c2b1439739e9c8.tar.gz |
libnm: clear NMClientPrivate.object_manager in name_owner_changed()
Don't leave dangling pointers.
-rw-r--r-- | libnm/nm-client.c | 4 |
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 (); |