Diff between 8787294ece46922f5f62b8a9fd73028276074026 and f1594be140f0955e9320a818b6c9bdc991dc84f3

Changed Files

File Additions Deletions Status
src/adapter.c +9 -1 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 1752d3e..ec2e8bd 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1828,6 +1828,13 @@ int btd_adapter_stop(struct btd_adapter *adapter)
 	return 0;
 }
 
+static void free_service_auth(gpointer data, gpointer user_data)
+{
+	struct service_auth *auth = data;
+
+	g_free(auth);
+}
+
 static void adapter_free(gpointer user_data)
 {
 	struct btd_adapter *adapter = user_data;
@@ -1837,7 +1844,8 @@ static void adapter_free(gpointer user_data)
 	if (adapter->auth_idle_id)
 		g_source_remove(adapter->auth_idle_id);
 
-	g_queue_free_full(adapter->auths, g_free);
+	g_queue_foreach(adapter->auths, free_service_auth, NULL);
+	g_queue_free(adapter->auths);
 
 	sdp_list_free(adapter->services, NULL);