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}
diff --git a/webrtc/modules/audio_coding/neteq/expand.cc b/webrtc/modules/audio_coding/neteq/expand.cc
index da870d7..2154bfd 100644
--- a/webrtc/modules/audio_coding/neteq/expand.cc
+++ b/webrtc/modules/audio_coding/neteq/expand.cc
@@ -441,7 +441,7 @@
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 {