Integer overflow fix in FDKaacEnc_initAvoidHoleFlag()

Bug: 121226473
Test: see bug with specific audio stream to encode
Change-Id: I282506f0856130fa00c7f7c6e94b18e1162c8593
This commit is contained in:
Fraunhofer IIS FDK 2019-05-03 10:25:48 +02:00 committed by Jean-Michel Trivi
parent 55002323b3
commit 5def92cb0f
1 changed files with 5 additions and 7 deletions

View File

@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@ -591,13 +591,11 @@ static void FDKaacEnc_initAvoidHoleFlag(
if (sfbEn > avgEn) {
FIXP_DBL tmpMinSnrLdData;
if (psyOutChannel[ch]->lastWindowSequence == LONG_WINDOW)
tmpMinSnrLdData =
fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData),
(FIXP_DBL)SnrLdMin1);
tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData,
SnrLdMin1 - SnrLdFac);
else
tmpMinSnrLdData =
fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData),
(FIXP_DBL)SnrLdMin3);
tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData,
SnrLdMin3 - SnrLdFac);
qcOutChan->sfbMinSnrLdData[sfbGrp + sfb] = fixMin(
qcOutChan->sfbMinSnrLdData[sfbGrp + sfb], tmpMinSnrLdData);