Merge "Unsigned Integer Overflow in CAacDecoder_PreRollExtensionPayloadParse()" am: a5cf260931
am: 466adf2a1b
Change-Id: I354fe7ee0401e1e154ae42ce9a80672db8a84d08
diff --git a/libAACdec/src/conceal.cpp b/libAACdec/src/conceal.cpp
index a6064b6..569d672 100644
--- a/libAACdec/src/conceal.cpp
+++ b/libAACdec/src/conceal.cpp
@@ -2080,11 +2080,11 @@
noiseVal = FX_DBL2FX_PCM(fMult(noiseValLong, TDNoiseAtt));
/* add filtered noise - check for clipping, before */
- if (pcmdata[ii] > (FIXP_PCM)MAXVAL_FIXP_PCM - noiseVal &&
- noiseVal > (FIXP_PCM)0) {
+ if (noiseVal > (FIXP_PCM)0 &&
+ pcmdata[ii] > (FIXP_PCM)MAXVAL_FIXP_PCM - noiseVal) {
noiseVal = noiseVal * (FIXP_PCM)-1;
- } else if (pcmdata[ii] < (FIXP_PCM)MINVAL_FIXP_PCM - noiseVal &&
- noiseVal < (FIXP_PCM)0) {
+ } else if (noiseVal < (FIXP_PCM)0 &&
+ pcmdata[ii] < (FIXP_PCM)MINVAL_FIXP_PCM - noiseVal) {
noiseVal = noiseVal * (FIXP_PCM)-1;
}