commit | 2b1b7a83ad377b8540096d96c472f12bceed8172 | [log] [tgz] |
---|---|---|
author | kwiberg <kwiberg@webrtc.org> | Fri Sep 09 12:51:33 2016 |
committer | Commit bot <commit-bot@chromium.org> | Fri Sep 09 12:51:38 2016 |
tree | cd91c8c4df046cb527a3b16aa5cb354abd6e00e5 | |
parent | 53cec04f5ce7cdd18648968cedf1628e535f4e83 [diff] |
iSAC fix: Ignore overflow in signed left shift A left shift by 10 was assumed to never overflow, since "[s]imulation of the 25 files shows that maximum value in the vector gain_lo_hiQ17[] is 441344, which means that it is log2((2^31)/441344) = 12.2 shifting bits from saturation." However, a fuzzer test succeeded in provoking an overflow, which we ignore in this CL on the theory that only "abnormal" inputs cause overflow. Also had to replace a "foo << 1" with "foo * (1 << 1)" in WEBRTC_SPL_MUL_16_32_RSFT15 because foo could be negative; this problem showed up as soon as I'd asked UBSan to ignore the overflow discussed above. BUG=chromium:615819 Review-Url: https://codereview.webrtc.org/2314413002 Cr-Commit-Position: refs/heads/master@{#14162}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.