[PATCH] bluetooth: Fix crash in pa_bluetooth_discovery_get_device_by_address()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux