mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-08 06:38:11 +02:00
libnm: clear NMClientPrivate.object_manager in name_owner_changed()
Don't leave dangling pointers.
(cherry picked from commit 880a7061f2)
This commit is contained in:
parent
6d8a400d3f
commit
3dd9a430fa
1 changed files with 3 additions and 1 deletions
|
|
@ -2497,10 +2497,12 @@ name_owner_changed (GObject *object, GParamSpec *pspec, gpointer user_data)
|
||||||
GDBusObjectManager *object_manager = G_DBUS_OBJECT_MANAGER (object);
|
GDBusObjectManager *object_manager = G_DBUS_OBJECT_MANAGER (object);
|
||||||
gchar *name_owner;
|
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));
|
name_owner = g_dbus_object_manager_client_get_name_owner (G_DBUS_OBJECT_MANAGER_CLIENT (object));
|
||||||
if (name_owner) {
|
if (name_owner) {
|
||||||
g_free (name_owner);
|
g_free (name_owner);
|
||||||
g_object_unref (object_manager);
|
g_clear_object (&priv->object_manager);
|
||||||
if (priv->new_object_manager_cancellable)
|
if (priv->new_object_manager_cancellable)
|
||||||
g_cancellable_cancel (priv->new_object_manager_cancellable);
|
g_cancellable_cancel (priv->new_object_manager_cancellable);
|
||||||
priv->new_object_manager_cancellable = g_cancellable_new ();
|
priv->new_object_manager_cancellable = g_cancellable_new ();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue