diff options
author | Thomas Haller <thaller@redhat.com> | 2018-02-09 21:34:20 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2018-02-09 21:34:20 +0100 |
commit | 6473b0868cc4e880bdf81afca68457847168d9d1 (patch) | |
tree | 86f416295fbdf42a75ba63e7def0e88bf1dd9f14 | |
parent | 3a30ea9fc6363dc018c658456b6795284a63cad6 (diff) | |
download | NetworkManager-6473b0868cc4e880bdf81afca68457847168d9d1.tar.gz |
wifi/iwd: make NMIwdManager:dispose() reentrant
Theoretically, dispose() could be called multiple times.
-rw-r--r-- | src/devices/wifi/nm-iwd-manager.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c index 2010021b17..21f0a75559 100644 --- a/src/devices/wifi/nm-iwd-manager.c +++ b/src/devices/wifi/nm-iwd-manager.c @@ -687,8 +687,10 @@ dispose (GObject *object) g_slist_free_full (priv->known_networks, (GDestroyNotify) known_network_free); priv->known_networks = NULL; - g_signal_handlers_disconnect_by_data (priv->nm_manager, self); - g_clear_object (&priv->nm_manager); + if (priv->nm_manager) { + g_signal_handlers_disconnect_by_data (priv->nm_manager, self); + g_clear_object (&priv->nm_manager); + } G_OBJECT_CLASS (nm_iwd_manager_parent_class)->dispose (object); } |