From 383870faf4064a39be76f393ce7c402d1967e02b Mon Sep 17 00:00:00 2001 From: Qiu Jianlin Date: Thu, 4 Jul 2024 16:22:01 +0800 Subject: [PATCH] Check empty NALUs in H.265 depacketizer. This is cherry-picked from WebKit's patch for fixing a fuzzer failure. The original patch: https://github.com/WebKit/WebKit/pull/30438 Bug: chromium:41480904 Change-Id: Ic8eddb9de816c4c8d720dac6d4c55d1db3f0596e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356361 Reviewed-by: Harald Alvestrand Reviewed-by: Philip Eliasson Commit-Queue: Jianlin Qiu Cr-Commit-Position: refs/heads/main@{#42598} --- modules/rtp_rtcp/source/rtp_packetizer_h265.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/rtp_rtcp/source/rtp_packetizer_h265.cc b/modules/rtp_rtcp/source/rtp_packetizer_h265.cc index 5f10120d81..775c50c38e 100644 --- a/modules/rtp_rtcp/source/rtp_packetizer_h265.cc +++ b/modules/rtp_rtcp/source/rtp_packetizer_h265.cc @@ -26,6 +26,10 @@ RtpPacketizerH265::RtpPacketizerH265(rtc::ArrayView payload, : limits_(limits), num_packets_left_(0) { for (const auto& nalu : H264::FindNaluIndices(payload.data(), payload.size())) { + if (!nalu.payload_size) { + input_fragments_.clear(); + return; + } input_fragments_.push_back( payload.subview(nalu.payload_start_offset, nalu.payload_size)); }