bluez5: Fix free order of adapters and devices
authorDavid Henningsson <david.henningsson@canonical.com>
Fri, 28 Nov 2014 12:43:07 +0000 (13:43 +0100)
committerDavid Henningsson <david.henningsson@canonical.com>
Wed, 3 Dec 2014 11:04:29 +0000 (12:04 +0100)
Because the adapters reference the devices hashmap on free, we mush
free the adapters hashmap first and then the devices hashmap.

Reported-by: Alexander Patrakov <patrakov@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
src/modules/bluetooth/bluez5-util.c

index 6894e83..0b234ae 100644 (file)
@@ -1660,12 +1660,12 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
 
     pa_dbus_free_pending_list(&y->pending);
 
-    if (y->devices)
-        pa_hashmap_free(y->devices);
-
     if (y->adapters)
         pa_hashmap_free(y->adapters);
 
+    if (y->devices)
+        pa_hashmap_free(y->devices);
+
     if (y->transports) {
         pa_assert(pa_hashmap_isempty(y->transports));
         pa_hashmap_free(y->transports);