From 729310aa18107f8b5a6de674daee76fa5a8d67a6 Mon Sep 17 00:00:00 2001 From: Alessio Bazzica Date: Thu, 27 Feb 2020 16:33:29 +0100 Subject: [PATCH] iSAC fixed|float encoder fuzzers Bug: webrtc:11388 Change-Id: I5910492ef9471aa193aa50ef5e14b4b66cb6542a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169365 Commit-Queue: Alessio Bazzica Reviewed-by: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#30635} --- test/fuzzers/BUILD.gn | 18 +++++++++++++ .../audio_encoder_isax_fixed_fuzzer.cc | 26 ++++++++++++++++++ .../audio_encoder_isax_float_fuzzer.cc | 27 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 test/fuzzers/audio_encoder_isax_fixed_fuzzer.cc create mode 100644 test/fuzzers/audio_encoder_isax_float_fuzzer.cc diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index e36fbb6c07..4caac345cc 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -316,6 +316,24 @@ webrtc_fuzzer_test("audio_encoder_opus_fuzzer") { ] } +webrtc_fuzzer_test("audio_encoder_isac_fixed_fuzzer") { + sources = [ "audio_encoder_isax_fixed_fuzzer.cc" ] + deps = [ + ":audio_encoder_fuzzer", + "../../api/audio_codecs/isac:audio_encoder_isac_fix", + "../../rtc_base:checks", + ] +} + +webrtc_fuzzer_test("audio_encoder_isac_float_fuzzer") { + sources = [ "audio_encoder_isax_float_fuzzer.cc" ] + deps = [ + ":audio_encoder_fuzzer", + "../../api/audio_codecs/isac:audio_encoder_isac_float", + "../../rtc_base:checks", + ] +} + webrtc_fuzzer_test("turn_unwrap_fuzzer") { sources = [ "turn_unwrap_fuzzer.cc" ] deps = [ diff --git a/test/fuzzers/audio_encoder_isax_fixed_fuzzer.cc b/test/fuzzers/audio_encoder_isax_fixed_fuzzer.cc new file mode 100644 index 0000000000..5357dc1b3e --- /dev/null +++ b/test/fuzzers/audio_encoder_isax_fixed_fuzzer.cc @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#include "api/audio_codecs/isac/audio_encoder_isac_fix.h" +#include "rtc_base/checks.h" +#include "test/fuzzers/audio_encoder_fuzzer.h" + +namespace webrtc { + +void FuzzOneInput(const uint8_t* data, size_t size) { + AudioEncoderIsacFix::Config config; + RTC_CHECK(config.IsOk()); + constexpr int kPayloadType = 100; + FuzzAudioEncoder( + /*data_view=*/{data, size}, + /*encoder=*/AudioEncoderIsacFix::MakeAudioEncoder(config, kPayloadType)); +} + +} // namespace webrtc diff --git a/test/fuzzers/audio_encoder_isax_float_fuzzer.cc b/test/fuzzers/audio_encoder_isax_float_fuzzer.cc new file mode 100644 index 0000000000..f9e2e0206d --- /dev/null +++ b/test/fuzzers/audio_encoder_isax_float_fuzzer.cc @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#include "api/audio_codecs/isac/audio_encoder_isac_float.h" +#include "rtc_base/checks.h" +#include "test/fuzzers/audio_encoder_fuzzer.h" + +namespace webrtc { + +void FuzzOneInput(const uint8_t* data, size_t size) { + AudioEncoderIsacFloat::Config config; + config.sample_rate_hz = 16000; + RTC_CHECK(config.IsOk()); + constexpr int kPayloadType = 100; + FuzzAudioEncoder(/*data_view=*/{data, size}, + /*encoder=*/AudioEncoderIsacFloat::MakeAudioEncoder( + config, kPayloadType)); +} + +} // namespace webrtc