diff --git a/test/fuzzers/rtcp_receiver_fuzzer.cc b/test/fuzzers/rtcp_receiver_fuzzer.cc index 80086944fd..f729e55f13 100644 --- a/test/fuzzers/rtcp_receiver_fuzzer.cc +++ b/test/fuzzers/rtcp_receiver_fuzzer.cc @@ -17,6 +17,10 @@ namespace { constexpr int kRtcpIntervalMs = 1000; +// RTCP is typically sent over UDP, which has a maximum payload length +// of 65535 bytes. We err on the side of caution and check a bit above that. +constexpr size_t kMaxInputLenBytes = 66000; + class NullModuleRtpRtcp : public RTCPReceiver::ModuleRtpRtcp { public: void SetTmmbn(std::vector) override {} @@ -28,6 +32,10 @@ class NullModuleRtpRtcp : public RTCPReceiver::ModuleRtpRtcp { } // namespace void FuzzOneInput(const uint8_t* data, size_t size) { + if (size > kMaxInputLenBytes) { + return; + } + NullModuleRtpRtcp rtp_rtcp_module; SimulatedClock clock(1234);