[webkit-changes] [WebKit/WebKit] 832866: [WebRTC] Release assertion in webrtc::RtpPacketize...

Commit Queue noreply at github.com
Tue Nov 28 08:21:46 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 832866a2a943f5e889ab89d9fd07295e5ad82d8d
      https://github.com/WebKit/WebKit/commit/832866a2a943f5e889ab89d9fd07295e5ad82d8d
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
    M Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h
    A Source/ThirdParty/libwebrtc/WebKit/0001-WebRTC-Release-assertion-in-webrtc-RtpPacketizerH264.patch

  Log Message:
  -----------
  [WebRTC] Release assertion in webrtc::RtpPacketizerH264::PacketizeStapA on bad input
https://bugs.webkit.org/show_bug.cgi?id=265422
<rdar://118859268>

Reviewed by Youenn Fablet.

Change release assertion into a runtime check to avoid a crash.

* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc:
(webrtc::RtpPacketizerH264::GeneratePackets):
- Check return value of PacketizeStapA() and return false if
  std::nullopt was returned.
(webrtc::RtpPacketizerH264::PacketizeStapA):
- Change implementation to return std::optional<size_t>.
- Return std::nullopt instead of crashing if fragment.size() == 0.
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h264.h:
(webrtc::RtpPacketizerH264::PacketizeStapA):
- Change declaration to return std::optional<size_t>.

* Source/ThirdParty/libwebrtc/WebKit/0001-WebRTC-Release-assertion-in-webrtc-RtpPacketizerH264.patch: Add.

Canonical link: https://commits.webkit.org/271215@main




More information about the webkit-changes mailing list