tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit fba8cd953218b8d34545aae8d5ed6334dafc6d8d
parent 147b93b65fc9cec5223b1e18ba22760cb387031a
Author: Dan Baker <dbaker@mozilla.com>
Date:   Mon, 27 Oct 2025 15:07:45 -0600

Bug 1995393 - Vendor libwebrtc from e46a5d6bec

Upstream commit: https://webrtc.googlesource.com/src/+/e46a5d6bec35ef96ea85e641c97f0f1b42a12e86
    Add a clock rate for illegal static audio codecs

    This ensures that even if an illegal codec is parsed, it will not
    cause a CHECK elsewhere.

    Bug: chromium:441816631
    Change-Id: Icdbf72b71975bd2d47c9674061d9ecf3199ee6e5
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406940
    Reviewed-by: Henrik Boström <hbos@webrtc.org>
    Commit-Queue: Harald Alvestrand <hta@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45480}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/pc/webrtc_sdp.cc | 4++--
Mthird_party/libwebrtc/pc/webrtc_sdp_unittest.cc | 15+++++++++++++++
3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T21:05:32.064657+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T21:07:32.541784+00:00. # base of lastest vendoring -cbffa764b7 +e46a5d6bec diff --git a/third_party/libwebrtc/pc/webrtc_sdp.cc b/third_party/libwebrtc/pc/webrtc_sdp.cc @@ -1994,8 +1994,8 @@ struct StaticPayloadAudioCodec { }; const StaticPayloadAudioCodec kStaticPayloadAudioCodecs[] = { {.name = "PCMU", .clockrate = 8000, .channels = 1}, - {.name = "reserved", .clockrate = 0, .channels = 0}, - {.name = "reserved", .clockrate = 0, .channels = 0}, + {.name = "x-illegal-value-1", .clockrate = 8000, .channels = 0}, + {.name = "x-illegal-value-2", .clockrate = 8000, .channels = 0}, {.name = "GSM", .clockrate = 8000, .channels = 1}, {.name = "G723", .clockrate = 8000, .channels = 1}, {.name = "DVI4", .clockrate = 8000, .channels = 1}, diff --git a/third_party/libwebrtc/pc/webrtc_sdp_unittest.cc b/third_party/libwebrtc/pc/webrtc_sdp_unittest.cc @@ -5106,5 +5106,20 @@ TEST_F(WebRtcSdpTest, RejectsInvalidCharactersInBundleGroup) { EXPECT_FALSE(SdpDeserialize(sdp_with_bad_bundle_tag, &desc, &error)); } +// Regression test for https://issues.chromium.org/441816631 +TEST_F(WebRtcSdpTest, ShrugsOnUnknownStaticAudioCodecs) { + // Note: this SDP is illegal, and needs improving. + // See https://issues.webrtc.org/441854062 for details. + std::string sdp_with_audio_codec_1 = + "v=2\r\n" + "o=- 1 2 3 4 5\r\n" + "s=x\r\n" + "t=0\r\n" + "m=audio 0 1\r\n"; + JsepSessionDescription desc(kDummyType); + SdpParseError error; + EXPECT_TRUE(SdpDeserialize(sdp_with_audio_codec_1, &desc, &error)); +} + } // namespace } // namespace webrtc