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 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. Forschung e.V. All rights reserved.
1. INTRODUCTION 1. INTRODUCTION
@ -591,13 +591,11 @@ static void FDKaacEnc_initAvoidHoleFlag(
if (sfbEn > avgEn) { if (sfbEn > avgEn) {
FIXP_DBL tmpMinSnrLdData; FIXP_DBL tmpMinSnrLdData;
if (psyOutChannel[ch]->lastWindowSequence == LONG_WINDOW) if (psyOutChannel[ch]->lastWindowSequence == LONG_WINDOW)
tmpMinSnrLdData = tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData,
fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData), SnrLdMin1 - SnrLdFac);
(FIXP_DBL)SnrLdMin1);
else else
tmpMinSnrLdData = tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData,
fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData), SnrLdMin3 - SnrLdFac);
(FIXP_DBL)SnrLdMin3);
qcOutChan->sfbMinSnrLdData[sfbGrp + sfb] = fixMin( qcOutChan->sfbMinSnrLdData[sfbGrp + sfb] = fixMin(
qcOutChan->sfbMinSnrLdData[sfbGrp + sfb], tmpMinSnrLdData); qcOutChan->sfbMinSnrLdData[sfbGrp + sfb], tmpMinSnrLdData);