commit | fd1465e039a0778b3035f6824fcccc6b4a5a61b8 | [log] [tgz] |
---|---|---|
author | Neelkamal Semwal <neelkamal.semwal@ittiam.com> | Tue Sep 28 18:16:29 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Tue Sep 28 18:16:29 2021 +0000 |
tree | 310b5d2baaa76529aa2b0aa83f6fa5a527caae74 | |
parent | 4575ee3590a1eab012eea4e0bb248d462c3e0298 [diff] | |
parent | 98ec800bdf6fdc324c1e6414b3b597d94977cfaa [diff] |
libOpus: fix integer overflow in silk_resampler_down2_hp am: 98ec800bdf Original change: https://android-review.googlesource.com/c/platform/external/libopus/+/1767386 Change-Id: Ib2def8577a2c2e964bb9592361bf270365e656c8
diff --git a/src/analysis.c b/src/analysis.c index 058328f..8b4f22d 100644 --- a/src/analysis.c +++ b/src/analysis.c
@@ -149,7 +149,10 @@ out32_hp = ADD32( out32_hp, X ); S[ 2 ] = ADD32( -in32, X ); - hp_ener += out32_hp*(opus_val64)out32_hp; + if(__builtin_add_overflow(hp_ener, out32_hp*(opus_val64)out32_hp, &hp_ener)) + { + hp_ener = UINT64_MAX; + } /* Add, convert back to int16 and store to output */ out[ k ] = HALF32(out32); }