summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-02-09 21:34:20 +0100
committerThomas Haller <thaller@redhat.com>2018-02-09 21:34:20 +0100
commit6473b0868cc4e880bdf81afca68457847168d9d1 (patch)
tree86f416295fbdf42a75ba63e7def0e88bf1dd9f14
parent3a30ea9fc6363dc018c658456b6795284a63cad6 (diff)
downloadNetworkManager-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.c6
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);
}