Fix for left-shift of potentially negative values in NetEq.

Left shifting negative integers is undefined behavior, and should be prevented. This CL fixes one such instance in the NetEq Expand function.

BUG=chromium:677106

Review-Url: https://codereview.webrtc.org/2616363003
Cr-Commit-Position: refs/heads/master@{#15966}
This commit is contained in:
ivoc 2017-01-09 08:31:42 -08:00 committed by Commit bot
parent 39ced8cf35
commit 4843dd13aa

View File

@ -441,7 +441,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
for (size_t i = 0; i < kNumCorrelationCandidates; ++i) {
int32_t ratio;
if (best_distortion[i] > 0) {
ratio = (best_correlation[i] << 16) / best_distortion[i];
ratio = (best_correlation[i] * (1 << 16)) / best_distortion[i];
} else if (best_correlation[i] == 0) {
ratio = 0; // No correlation set result to zero.
} else {