From 6f54e7ab679fe13c62e33c969d3b75d6f71eb4eb Mon Sep 17 00:00:00 2001 From: Henrik Lundin Date: Tue, 28 Nov 2017 15:26:52 +0100 Subject: [PATCH] Avoid integer-overflow in WebRtcSpl_FilterARFastQ12 Simply use int64_t instead of int32_t for two local variables. This avoids integer-overflow in some rare cases. Bug: chromium:784216 Change-Id: Ie96835d6dc04e338b157469b74ead29e8bd403dd Reviewed-on: https://webrtc-review.googlesource.com/26580 Reviewed-by: Karl Wiberg Commit-Queue: Henrik Lundin Cr-Commit-Position: refs/heads/master@{#21141} --- common_audio/signal_processing/filter_ar_fast_q12.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common_audio/signal_processing/filter_ar_fast_q12.c b/common_audio/signal_processing/filter_ar_fast_q12.c index 0767651a74..df9e51889a 100644 --- a/common_audio/signal_processing/filter_ar_fast_q12.c +++ b/common_audio/signal_processing/filter_ar_fast_q12.c @@ -25,8 +25,8 @@ void WebRtcSpl_FilterARFastQ12(const int16_t* data_in, RTC_DCHECK_GT(coefficients_length, 1); for (i = 0; i < data_length; i++) { - int32_t output = 0; - int32_t sum = 0; + int64_t output = 0; + int64_t sum = 0; for (j = coefficients_length - 1; j > 0; j--) { sum += coefficients[j] * data_out[i - j];