Loading system/audio_hal_interface/fuzzer/libbt_audio_hal_a2dp_encoding_fuzzer.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -93,8 +93,14 @@ void A2dpEncodingFuzzer::process(const uint8_t* data, size_t size) { uint16_t delayReport = fdp.ConsumeIntegral<uint16_t>(); bluetooth::audio::a2dp::set_remote_delay(delayReport); (void)bluetooth::audio::a2dp::init(&messageLoopThread); (void)bluetooth::audio::a2dp::setup_codec(); if (!bluetooth::audio::a2dp::init(&messageLoopThread)) { return; } if (!bluetooth::audio::a2dp::setup_codec()) { return; } bluetooth::audio::a2dp::start_session(); tA2DP_CTRL_ACK status = fdp.PickValueInArray(kCtrlAckStatus); Loading system/audio_hal_interface/fuzzer/libbt_audio_hal_le_audio_software_fuzzer.cpp +9 −8 Original line number Diff line number Diff line Loading @@ -24,12 +24,11 @@ using ::bluetooth::audio::le_audio::LeAudioClientInterface; constexpr int32_t kRandomStringLength = 256; constexpr uint8_t kBitsPerSample[] = {0, 16, 24, 32}; constexpr uint8_t kBitsPerSample[] = {16, 24, 32}; constexpr uint8_t kChannelCount[] = {0, 1, 2}; constexpr uint8_t kChannelCount[] = {1, 2}; constexpr uint32_t kSampleRates[] = {0, 8000, 16000, 24000, 32000, 44100, 48000, 88200, 96000, 176400, 192000}; constexpr uint32_t kSampleRates[] = {16000, 24000, 44100, 48000, 88200, 96000}; extern "C" { struct android_namespace_t* android_get_exported_namespace(const char*) { Loading Loading @@ -65,15 +64,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { LeAudioClientInterface::Source* source = interface->GetSource(streamCb, &messageLoopThread); if (source != nullptr) { source->StartSession(); uint16_t delay = fdp.ConsumeIntegral<uint16_t>(); source->SetRemoteDelay(delay); LeAudioClientInterface::PcmParameters params; params.data_interval_us = fdp.ConsumeIntegral<uint32_t>(); params.data_interval_us = fdp.ConsumeIntegralInRange<uint32_t>( 1000, std::numeric_limits<uint32_t>::max()); params.sample_rate = fdp.PickValueInArray(kSampleRates); params.bits_per_sample = fdp.PickValueInArray(kBitsPerSample); params.channels_count = fdp.PickValueInArray(kChannelCount); source->SetPcmParameters(params); source->StartSession(); source->StopSession(); source->Cleanup(); } Loading @@ -84,15 +84,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { LeAudioClientInterface::Sink* sink = interface->GetSink(streamCb, &messageLoopThread, false); if (sink != nullptr) { sink->StartSession(); uint16_t delay = fdp.ConsumeIntegral<uint16_t>(); sink->SetRemoteDelay(delay); LeAudioClientInterface::PcmParameters params; params.data_interval_us = fdp.ConsumeIntegral<uint32_t>(); params.data_interval_us = fdp.ConsumeIntegralInRange<uint32_t>( 1000, std::numeric_limits<uint32_t>::max()); params.sample_rate = fdp.PickValueInArray(kSampleRates); params.bits_per_sample = fdp.PickValueInArray(kBitsPerSample); params.channels_count = fdp.PickValueInArray(kChannelCount); sink->SetPcmParameters(params); sink->StartSession(); sink->StopSession(); sink->Cleanup(); } Loading Loading
system/audio_hal_interface/fuzzer/libbt_audio_hal_a2dp_encoding_fuzzer.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -93,8 +93,14 @@ void A2dpEncodingFuzzer::process(const uint8_t* data, size_t size) { uint16_t delayReport = fdp.ConsumeIntegral<uint16_t>(); bluetooth::audio::a2dp::set_remote_delay(delayReport); (void)bluetooth::audio::a2dp::init(&messageLoopThread); (void)bluetooth::audio::a2dp::setup_codec(); if (!bluetooth::audio::a2dp::init(&messageLoopThread)) { return; } if (!bluetooth::audio::a2dp::setup_codec()) { return; } bluetooth::audio::a2dp::start_session(); tA2DP_CTRL_ACK status = fdp.PickValueInArray(kCtrlAckStatus); Loading
system/audio_hal_interface/fuzzer/libbt_audio_hal_le_audio_software_fuzzer.cpp +9 −8 Original line number Diff line number Diff line Loading @@ -24,12 +24,11 @@ using ::bluetooth::audio::le_audio::LeAudioClientInterface; constexpr int32_t kRandomStringLength = 256; constexpr uint8_t kBitsPerSample[] = {0, 16, 24, 32}; constexpr uint8_t kBitsPerSample[] = {16, 24, 32}; constexpr uint8_t kChannelCount[] = {0, 1, 2}; constexpr uint8_t kChannelCount[] = {1, 2}; constexpr uint32_t kSampleRates[] = {0, 8000, 16000, 24000, 32000, 44100, 48000, 88200, 96000, 176400, 192000}; constexpr uint32_t kSampleRates[] = {16000, 24000, 44100, 48000, 88200, 96000}; extern "C" { struct android_namespace_t* android_get_exported_namespace(const char*) { Loading Loading @@ -65,15 +64,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { LeAudioClientInterface::Source* source = interface->GetSource(streamCb, &messageLoopThread); if (source != nullptr) { source->StartSession(); uint16_t delay = fdp.ConsumeIntegral<uint16_t>(); source->SetRemoteDelay(delay); LeAudioClientInterface::PcmParameters params; params.data_interval_us = fdp.ConsumeIntegral<uint32_t>(); params.data_interval_us = fdp.ConsumeIntegralInRange<uint32_t>( 1000, std::numeric_limits<uint32_t>::max()); params.sample_rate = fdp.PickValueInArray(kSampleRates); params.bits_per_sample = fdp.PickValueInArray(kBitsPerSample); params.channels_count = fdp.PickValueInArray(kChannelCount); source->SetPcmParameters(params); source->StartSession(); source->StopSession(); source->Cleanup(); } Loading @@ -84,15 +84,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { LeAudioClientInterface::Sink* sink = interface->GetSink(streamCb, &messageLoopThread, false); if (sink != nullptr) { sink->StartSession(); uint16_t delay = fdp.ConsumeIntegral<uint16_t>(); sink->SetRemoteDelay(delay); LeAudioClientInterface::PcmParameters params; params.data_interval_us = fdp.ConsumeIntegral<uint32_t>(); params.data_interval_us = fdp.ConsumeIntegralInRange<uint32_t>( 1000, std::numeric_limits<uint32_t>::max()); params.sample_rate = fdp.PickValueInArray(kSampleRates); params.bits_per_sample = fdp.PickValueInArray(kBitsPerSample); params.channels_count = fdp.PickValueInArray(kChannelCount); sink->SetPcmParameters(params); sink->StartSession(); sink->StopSession(); sink->Cleanup(); } Loading