Prevent overflow in concealment clipping check

Bug: 112890225
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ie386e4b6fe5cdb38180f673edde8f84c36c7b522
This commit is contained in:
Fraunhofer IIS FDK 2018-08-15 14:42:23 +02:00 committed by Jean-Michel Trivi
parent f19e863cce
commit f44b50b835
1 changed files with 4 additions and 4 deletions

View File

@ -2080,11 +2080,11 @@ static void CConcealment_TDNoise_Apply(CConcealmentInfo *const pConcealmentInfo,
noiseVal = FX_DBL2FX_PCM(fMult(noiseValLong, TDNoiseAtt)); noiseVal = FX_DBL2FX_PCM(fMult(noiseValLong, TDNoiseAtt));
/* add filtered noise - check for clipping, before */ /* add filtered noise - check for clipping, before */
if (pcmdata[ii] > (FIXP_PCM)MAXVAL_FIXP_PCM - noiseVal && if (noiseVal > (FIXP_PCM)0 &&
noiseVal > (FIXP_PCM)0) { pcmdata[ii] > (FIXP_PCM)MAXVAL_FIXP_PCM - noiseVal) {
noiseVal = noiseVal * (FIXP_PCM)-1; noiseVal = noiseVal * (FIXP_PCM)-1;
} else if (pcmdata[ii] < (FIXP_PCM)MINVAL_FIXP_PCM - noiseVal && } else if (noiseVal < (FIXP_PCM)0 &&
noiseVal < (FIXP_PCM)0) { pcmdata[ii] < (FIXP_PCM)MINVAL_FIXP_PCM - noiseVal) {
noiseVal = noiseVal * (FIXP_PCM)-1; noiseVal = noiseVal * (FIXP_PCM)-1;
} }