As interface_removed() gets called when the interface struct is being
deallocated, make sure the pointer is set to null regardless of the
other fields' values in wifi struct.
---
plugins/wifi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/plugins/wifi.c b/plugins/wifi.c
index 45d88b8..d18dc6c 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -2284,6 +2284,9 @@ static void interface_removed(GSupplicantInterface
*interface)
wifi = g_supplicant_interface_get_data(interface);
+ if (wifi)
+ wifi->interface = NULL;
+
if (wifi && wifi->tethering)
return;
@@ -2292,7 +2295,6 @@ static void interface_removed(GSupplicantInterface
*interface)
return;
}
- wifi->interface = NULL;
connman_device_set_powered(wifi->device, false);
check_p2p_technology();
--
1.9.1
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman