Bluez can crash with SIGSEGV while registering an LE advertisement

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

 



Hi,

I'm able to crash Bluez 4.43 with SIGSEGV. The Bluez code hasn't changed
in that area since, so it should (not) work in more recent versions as
well. The code that reproduces the problem on my embedded platform is
here:
https://github.com/Tragetaschen/bluez-advertisement-registration-sigsegv

The problem is that while calling
org.bluez.LEAdvertisingManager1.RegisterAdvertisement, Bluez sends two
method calls to the given object path:

- org.freedesktop.DBus.Properties.GetAll

- org.freedesktop.DBus.ObjectManager.GetManagedObjects

When these two methods are replied to in order (GetAll then
GetManagedObjects), everything works as expected. When the order is
reversed, Bluez sends an error for the RegisterAdvertisement with
"Failed to parse advertisement" after the GetManagedObjects returns and
then dies by a SIGSEGV when GetAll returns.

My DbusCore implementation uses a thread pool to dispatch incoming
method calls and doesn't have the necessary ordering requirements.


Cheers,

Kai

--
Kai Ruhnau
Software Manager
T:+49 202 769302 19

Target Systemelektronik GmbH & Co. KG
Heinz-Fangman-Straße 4
42287 Wuppertal

Amtsgericht Wuppertal HRA 23898
Persönlich haftende Gesellschafterin
Target Systemelektronik Beteiligungs GmbH
Heinz-Fangman-Straße 4, 42287 Wuppertal
Amtsgericht Wuppertal HRB 25346
Geschäftsführer: Jürgen Stein
--
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux