diff --git a/profiles/audio/bass.c b/profiles/audio/bass.c
index 6c84fa1..67ee847 100644
--- a/profiles/audio/bass.c
+++ b/profiles/audio/bass.c
static void bap_attached(struct bt_bap *bap, void *user_data)
{
- struct btd_service *service = bt_bap_get_user_data(bap);
- struct btd_device *device = btd_service_get_device(service);
- struct btd_adapter *adapter = device_get_adapter(device);
+ struct btd_service *service;
+ struct btd_device *device;
+ struct btd_adapter *adapter;
struct bass_delegator *dg;
GError *err = NULL;
DBG("%p", bap);
+ service = bt_bap_get_user_data(bap);
+ if (!service)
+ return;
+
+ device = btd_service_get_device(service);
+ adapter = device_get_adapter(device);
+
dg = queue_find(delegators, delegator_match_device, device);
if (!dg)
/* Only probe devices added via Broadcast Assistants */
static void bap_detached(struct bt_bap *bap, void *user_data)
{
- struct btd_service *service = bt_bap_get_user_data(bap);
- struct btd_device *device = btd_service_get_device(service);
+ struct btd_service *service;
+ struct btd_device *device;
struct bass_delegator *dg;
DBG("%p", bap);
+ service = bt_bap_get_user_data(bap);
+ if (!service)
+ return;
+
+ device = btd_service_get_device(service);
+
dg = queue_remove_if(delegators, delegator_match_device, device);
if (!dg)
return;