From 9b7f3649af2137347b84d49f202ab5662967baed Mon Sep 17 00:00:00 2001 From: Henrik Lundin Date: Wed, 31 Jan 2024 13:15:00 +0000 Subject: [PATCH] Fix a fuzzer-found issue in PCM16 decoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: chromium:1521761 Change-Id: Id5292e80fd6ecae2c39a446dec010b0383bd805e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337200 Reviewed-by: Jakob Ivarsson‎ Commit-Queue: Henrik Lundin Cr-Commit-Position: refs/heads/main@{#41645} --- modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc | 5 +++++ modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc b/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc index 7761efe8b3..1e2b5db331 100644 --- a/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc +++ b/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.cc @@ -67,4 +67,9 @@ int AudioDecoderPcm16B::PacketDuration(const uint8_t* encoded, return static_cast(encoded_len / (2 * Channels())); } +int AudioDecoderPcm16B::PacketDurationRedundant(const uint8_t* encoded, + size_t encoded_len) const { + return PacketDuration(encoded, encoded_len); +} + } // namespace webrtc diff --git a/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h b/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h index 6f50161d3f..c31cc5d0a2 100644 --- a/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h +++ b/modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h @@ -32,6 +32,8 @@ class AudioDecoderPcm16B final : public AudioDecoder { std::vector ParsePayload(rtc::Buffer&& payload, uint32_t timestamp) override; int PacketDuration(const uint8_t* encoded, size_t encoded_len) const override; + int PacketDurationRedundant(const uint8_t* encoded, + size_t encoded_len) const override; int SampleRateHz() const override; size_t Channels() const override;