mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
bluez5-util: Fix segfault during shutdown of daemon
If a HFP audio gateway was connected via the ofono backend, pulse would segfault during shutdown of the daemon. pa_bluetooth_discovery_unref() removed the devices and transports before the ofono backend was freed. Because the ofono backend keeps its own list of transports, transport_free() was then called during termination of the ofono backend with an invalid transport. Bug reported by Andrew Hlynskyi. This patch moves the termination of the ofono and native backends before freeing the devices.
This commit is contained in:
parent
92a6fe7453
commit
ce9ea846e9
1 changed files with 5 additions and 5 deletions
|
|
@ -1807,6 +1807,11 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
|
|||
|
||||
pa_dbus_free_pending_list(&y->pending);
|
||||
|
||||
if (y->ofono_backend)
|
||||
pa_bluetooth_ofono_backend_free(y->ofono_backend);
|
||||
if (y->native_backend)
|
||||
pa_bluetooth_native_backend_free(y->native_backend);
|
||||
|
||||
if (y->adapters)
|
||||
pa_hashmap_free(y->adapters);
|
||||
|
||||
|
|
@ -1818,11 +1823,6 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
|
|||
pa_hashmap_free(y->transports);
|
||||
}
|
||||
|
||||
if (y->ofono_backend)
|
||||
pa_bluetooth_ofono_backend_free(y->ofono_backend);
|
||||
if (y->native_backend)
|
||||
pa_bluetooth_native_backend_free(y->native_backend);
|
||||
|
||||
if (y->connection) {
|
||||
|
||||
if (y->matches_added)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue