Replace left shift with equivalent multiplication.
This minor issue was found by the UBSAN fuzzer. We have used the Godbolt compiler explorer to check that similar changes produce identical compiled code. Bug: chromium:803078 Change-Id: Ib3fa38c101d7bda53d8d39062cb2c0a55144305f Reviewed-on: https://webrtc-review.googlesource.com/42580 Reviewed-by: Sam Zackrisson <saza@webrtc.org> Commit-Queue: Alex Loiko <aleloi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21713}
This commit is contained in:
@ -496,8 +496,8 @@ WebRtcAecm_ProcessBlock(AecmCore* aecm,
|
||||
tmp16no2 = ptrDfaClean[i] >> -qDomainDiff;
|
||||
} else {
|
||||
tmp16no1 = dfa_clean_q_domain_diff < 0
|
||||
? aecm->nearFilt[i] >> -dfa_clean_q_domain_diff
|
||||
: aecm->nearFilt[i] << dfa_clean_q_domain_diff;
|
||||
? aecm->nearFilt[i] >> -dfa_clean_q_domain_diff
|
||||
: aecm->nearFilt[i] * (1 << dfa_clean_q_domain_diff);
|
||||
qDomainDiff = 0;
|
||||
tmp16no2 = ptrDfaClean[i];
|
||||
}
|
||||
@ -508,7 +508,7 @@ WebRtcAecm_ProcessBlock(AecmCore* aecm,
|
||||
if ((tmp16no2) & (-qDomainDiff > zeros16)) {
|
||||
aecm->nearFilt[i] = WEBRTC_SPL_WORD16_MAX;
|
||||
} else {
|
||||
aecm->nearFilt[i] = qDomainDiff < 0 ? tmp16no2 << -qDomainDiff
|
||||
aecm->nearFilt[i] = qDomainDiff < 0 ? tmp16no2 * (1 << -qDomainDiff)
|
||||
: tmp16no2 >> qDomainDiff;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user