From b1629cf5d604363dd902b8ec2454ef279353c81f Mon Sep 17 00:00:00 2001 From: Henrik Lundin Date: Tue, 28 Feb 2017 14:58:30 +0100 Subject: [PATCH] Avoid overflow in NetEq's TimeStretch::SpeechDetection BUG=chromium:675193 R=kwiberg@webrtc.org Review-Url: https://codereview.webrtc.org/2718943004 . Cr-Commit-Position: refs/heads/master@{#16902} --- webrtc/modules/audio_coding/neteq/time_stretch.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webrtc/modules/audio_coding/neteq/time_stretch.cc b/webrtc/modules/audio_coding/neteq/time_stretch.cc index 880b1f82ea..c96d165e74 100644 --- a/webrtc/modules/audio_coding/neteq/time_stretch.cc +++ b/webrtc/modules/audio_coding/neteq/time_stretch.cc @@ -182,7 +182,8 @@ bool TimeStretch::SpeechDetection(int32_t vec1_energy, int32_t vec2_energy, // (vec1_energy + vec2_energy) / 16 <= peak_index * background_noise_energy. // The two sides of the inequality will be denoted |left_side| and // |right_side|. - int32_t left_side = (vec1_energy + vec2_energy) / 16; + int32_t left_side = rtc::saturated_cast( + (static_cast(vec1_energy) + vec2_energy) / 16); int32_t right_side; if (background_noise_.initialized()) { right_side = background_noise_.Energy(master_channel_);