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 at gmail.com> Signed-off-by: David Henningsson <david.henningsson at canonical.com> --- src/modules/bluetooth/bluez5-util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/bluetooth/bluez5-util.c b/src/modules/bluetooth/bluez5-util.c index 6894e83..0b234ae 100644 --- a/src/modules/bluetooth/bluez5-util.c +++ b/src/modules/bluetooth/bluez5-util.c @@ -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); -- 2.1.3