[PATCH v4 15/41] bluetooth: Parse BlueZ 5 adapter properties

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

 



On Tue, 2013-09-24 at 19:19 -0300, Jo?o Paulo Rechi Vita wrote:
> On Sun, Sep 22, 2013 at 2:38 AM, Tanu Kaskinen
> <tanu.kaskinen at linux.intel.com> wrote:
> > On Sat, 2013-09-21 at 16:12 -0500, Jo?o Paulo Rechi Vita wrote:
> >> On Sat, Sep 21, 2013 at 6:12 AM, Tanu Kaskinen
> >> <tanu.kaskinen at linux.intel.com> wrote:
> >> > On Wed, 2013-09-18 at 16:17 -0500, jprvita at gmail.com wrote:
> >> >>  static void parse_interfaces_and_properties(pa_bluetooth_discovery *y, DBusMessageIter *dict_i) {
> >> >>      DBusMessageIter element_i;
> >> >>      const char *path;
> >> >> @@ -415,7 +474,8 @@ static void parse_interfaces_and_properties(pa_bluetooth_discovery *y, DBusMessa
> >> >>
> >> >>              pa_log_debug("Adapter %s found", path);
> >> >>
> >> >> -            /* TODO: parse adapter properties and register endpoints */
> >> >> +            parse_adapter_properties(a, &iface_i, false);
> >> >
> >> > If parsing fails, or if the Address property is missing, the adapter
> >> > should be marked as invalid.
> >> >
> >>
> >> We don't need to add a adapter_info_valid field, just not registering
> >> as an endpoint with that adapter should be enough.
> >
> > I don't think that's enough. Devices can point to adapters, so devices
> > that point to invalid adapters should be marked as invalid too. I think
> > an info_valid field also for adapters is the way to go.
> >
> 
> There is no problem if devices point to invalid adapters, since we
> have not registered as endpoints we'll never receive transports for
> these devices, so nothing will happen.

pa_bluetooth_discovery_get_device_by_address() will crash if a device
points to an adapter with NULL address.

Actually, marking a device invalid if the adapter is invalid isn't
sufficient to fix pa_bluetooth_discovery_get_device_by_address(). The
function should check d->device_info_valid before trying to access
d->adapter.

-- 
Tanu



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

  Powered by Linux