[pulseaudio-discuss] [PATCH] bluetooth: Fix crash in pa_bluetooth_discovery_get_device_by_address()

jprvita at gmail.com jprvita at gmail.com
Wed Nov 20 05:52:06 PST 2013


From: João Paulo Rechi Vita <jprvita at gmail.com>

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



More information about the pulseaudio-discuss mailing list