diff mbox series

[BlueZ,1/1] bap: Fix setting adapter address type for unicast

Message ID 20240325131910.324811-2-vlad.pruteanu@nxp.com
State New
Headers show
Series bap: Fix setting adapter address type for unicast | expand

Commit Message

Vlad Pruteanu March 25, 2024, 1:19 p.m. UTC
This fixes the settin of the adapter address type for unciast
scenario. Currently the address type is searched in data->adapter
however, this pointer is null and leads to the crash listed at the
end of this message. Instead, the address type should be taken from
the adapter variable, which is initialised using device_get_adapter
at the beggining of the function.

==321444==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000016
(pc 0x5601d284e03e bp 0x000000000016 sp 0x7ffdb164b740 T0)
==321444==The signal is caused by a READ memory access.
==321444==Hint: address points to the zero page.
0 0x5601d284e03e in btd_adapter_get_address_type src/adapter.c:545
1 0x5601d27a3f78 in setup_connect_io profiles/audio/bap.c:1860
2 0x5601d27a3f78 in setup_create_ucast_io profiles/audio/bap.c:2053
3 0x5601d27a3f78 in setup_create_io profiles/audio/bap.c:2106
4 0x5601d27a57cd in bap_state profiles/audio/bap.c:2143
5 0x5601d29d30df in bap_stream_state_changed src/shared/bap.c:1250
6 0x5601d29d71e2 in bap_ep_set_status src/shared/bap.c:4395
7 0x5601d293d592 in queue_foreach src/shared/queue.c:207
8 0x5601d2975c84 in notify_cb src/shared/gatt-client.c:2257
9 0x5601d2964217 in handle_notify src/shared/att.c:1012
10 0x5601d2964217 in can_read_data src/shared/att.c:1096
---
 profiles/audio/bap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 315eff729..030aa6ffe 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -1857,7 +1857,7 @@  static void setup_connect_io(struct bap_data *data, struct bap_setup *setup,
 				BT_IO_OPT_SOURCE_BDADDR,
 				btd_adapter_get_address(adapter),
 				BT_IO_OPT_SOURCE_TYPE,
-				btd_adapter_get_address_type(data->adapter),
+				btd_adapter_get_address_type(adapter),
 				BT_IO_OPT_DEST_BDADDR,
 				device_get_address(data->device),
 				BT_IO_OPT_DEST_TYPE,