When terminating a connman instance with ready p2p
connection, interface_table was trying to free a
removed interface, so just inverting the deinit order,
solves the issue.
---
gsupplicant/supplicant.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 9f63d63..6dad7a9 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -4935,9 +4935,6 @@ void g_supplicant_unregister(const GSupplicantCallbacks
*callbacks)
group_mapping = NULL;
}
- if (system_available)
- callback_system_killed();
-
if (interface_table) {
g_hash_table_foreach(interface_table,
unregister_remove_interface, NULL);
@@ -4945,6 +4942,9 @@ void g_supplicant_unregister(const GSupplicantCallbacks
*callbacks)
interface_table = NULL;
}
+ if (system_available)
+ callback_system_killed();
+
if (connection) {
dbus_connection_unref(connection);
connection = NULL;
--
1.9.1
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman