From: Jo?o Paulo Rechi Vita <jprvita@xxxxxxxxx> We need to check if d->adapter is valid before dereferencing it, and also make sure both address strings are valid before calling pa_streq(). --- src/modules/bluetooth/bluez5-util.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/bluetooth/bluez5-util.c b/src/modules/bluetooth/bluez5-util.c index c8ff219..53330ab 100644 --- a/src/modules/bluetooth/bluez5-util.c +++ b/src/modules/bluetooth/bluez5-util.c @@ -395,7 +395,9 @@ pa_bluetooth_device* pa_bluetooth_discovery_get_device_by_address(pa_bluetooth_d pa_assert(local); while ((d = pa_hashmap_iterate(y->devices, &state, NULL))) - if (pa_streq(d->address, remote) && pa_streq(d->adapter->address, local)) + if (d->address && pa_streq(d->address, remote) && + d->adapter && d->adapter->address && pa_streq(d->adapter->address, local)) + return d->device_info_valid == 1 ? d : NULL; return NULL; -- 1.8.3.1