--- src/shared/bap.c | 14 ++++++++------ src/shared/gatt-db.c | 5 ++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/shared/bap.c b/src/shared/bap.c index 96fca595b..5b904af9b 100644 --- a/src/shared/bap.c +++ b/src/shared/bap.c @@ -2570,12 +2570,12 @@ static uint8_t bap_ucast_io_dir(struct bt_bap_stream *stream) static uint8_t bap_bcast_io_dir(struct bt_bap_stream *stream) { - uint8_t dir; - uint8_t pac_type = bt_bap_pac_get_type(stream->lpac); - if (!stream) return 0x00; + uint8_t dir; + uint8_t pac_type = bt_bap_pac_get_type(stream->lpac); + if (pac_type == BT_BAP_BCAST_SINK) dir = BT_BAP_BCAST_SOURCE; else @@ -6144,7 +6144,7 @@ static struct bt_bap_stream *bap_bcast_stream_new(struct bt_bap *bap, struct bt_bap_endpoint *ep = NULL; struct match_pac match; - if (!bap) + if (!bap || !lpac) return NULL; if (lpac->type == BT_BAP_BCAST_SOURCE) { @@ -6153,7 +6153,7 @@ static struct bt_bap_stream *bap_bcast_stream_new(struct bt_bap *bap, memset(&match.codec, 0, sizeof(match.codec)); bt_bap_foreach_pac(bap, BT_BAP_BCAST_SINK, match_pac, &match); - if ((!match.lpac) || (!lpac)) + if (!match.lpac) return NULL; lpac = match.lpac; @@ -6406,11 +6406,13 @@ unsigned int bt_bap_stream_release(struct bt_bap_stream *stream, void *user_data) { unsigned int id; - struct bt_bap *bap = stream->bap; + struct bt_bap *bap; if (!stream || !stream->ops || !stream->ops->release) return 0; + bap = stream->bap; + if (!bt_bap_ref_safe(bap)) return 0; diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c index 8951079be..a4fa8aed9 100644 --- a/src/shared/gatt-db.c +++ b/src/shared/gatt-db.c @@ -1391,12 +1391,15 @@ static void find_by_type(struct gatt_db_attribute *attribute, void *user_data) { struct find_by_type_value_data *search_data = user_data; + if (!attribute) + return; + /* TODO: fix for read-callback based attributes */ if (search_data->value) { if (search_data->value_len != attribute->value_len) return; - if (!attribute || !attribute->value) + if (!attribute->value) return; if (memcmp(attribute->value, search_data->value, -- 2.34.1