commit | 383870faf4064a39be76f393ce7c402d1967e02b | [log] [tgz] |
---|---|---|
author | Qiu Jianlin <jianlin.qiu@intel.com> | Thu Jul 04 08:22:01 2024 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jul 08 02:11:15 2024 |
tree | fa53ec5ce3dbde443fffd04c80a9f832363ce9b2 | |
parent | ea61f0ec8206022413186ce77e2ac690430b2eaa [diff] |
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 <hta@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com> Cr-Commit-Position: refs/heads/main@{#42598}
diff --git a/modules/rtp_rtcp/source/rtp_packetizer_h265.cc b/modules/rtp_rtcp/source/rtp_packetizer_h265.cc index 5f10120..775c50c 100644 --- a/modules/rtp_rtcp/source/rtp_packetizer_h265.cc +++ b/modules/rtp_rtcp/source/rtp_packetizer_h265.cc
@@ -26,6 +26,10 @@ : 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)); }