From 317cca9e930e8e977cf894b22ce31a6310b0f097 Mon Sep 17 00:00:00 2001 From: Gustavo Garcia Date: Mon, 23 Jan 2023 20:42:25 +0100 Subject: [PATCH] Fix crash with invalid arrival_time in libwebrtc bwe --- .../modules/remote_bitrate_estimator/inter_arrival.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/inter_arrival.cc b/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/inter_arrival.cc index daa9c861d2..6bb751f373 100644 --- a/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/inter_arrival.cc +++ b/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/inter_arrival.cc @@ -41,6 +41,11 @@ bool InterArrival::ComputeDeltas(uint32_t timestamp, MS_ASSERT(timestamp_delta != nullptr, "timestamp_delta is null"); MS_ASSERT(arrival_time_delta_ms != nullptr, "arrival_time_delta_ms is null"); MS_ASSERT(packet_size_delta != nullptr, "packet_size_delta is null"); + // Ignore packets with invalid arrival time. + if (arrival_time_ms < 0) { + MS_WARN_TAG(bwe, "invalid arrival time %" PRIi64, arrival_time_ms); + return false; + } bool calculated_deltas = false; if (current_timestamp_group_.IsFirstPacket()) { // We don't have enough data to update the filter, so we store it until we