diff --git a/system/bta/le_audio/broadcaster/broadcaster.cc b/system/bta/le_audio/broadcaster/broadcaster.cc index a4b0e9df62f13771b7fc641454b779842b1c0afd..2dde3bd77756f4cc9d84647fd41dedb60b9964a6 100644 --- a/system/bta/le_audio/broadcaster/broadcaster.cc +++ b/system/bta/le_audio/broadcaster/broadcaster.cc @@ -277,6 +277,10 @@ class LeAudioBroadcasterImpl : public LeAudioBroadcaster, public BigCallbacks { ltv.Find(le_audio::types::kLeAudioMetadataTypeStreamingAudioContext); if (stream_context_vec) { auto pp = stream_context_vec.value().data(); + if (stream_context_vec.value().size() < 2) { + LOG_ERROR("stream_context_vec.value() size < 2"); + return; + } UINT16_TO_STREAM(pp, context_type.value()); } } @@ -285,6 +289,10 @@ class LeAudioBroadcasterImpl : public LeAudioBroadcaster, public BigCallbacks { ltv.Find(le_audio::types::kLeAudioMetadataTypeStreamingAudioContext); if (stream_context_vec) { auto pp = stream_context_vec.value().data(); + if (stream_context_vec.value().size() < 2) { + LOG_ERROR("stream_context_vec.value() size < 2"); + return; + } STREAM_TO_UINT16(context_type.value_ref(), pp); }