mirror of
https://github.com/mstorsjo/fdk-aac.git
synced 2025-06-05 22:39:13 +02:00
Perform parameter check before parameter assignment to avoid incorrect initialization in resetFreqBandTables().
Bug: 186777497 Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc Change-Id: I5af625905b1e4365fa84423d186c227a49707f72
This commit is contained in:
committed by
Jean-Michel Trivi
parent
e15d049ded
commit
cab99f4b6a
@@ -1,7 +1,7 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
||||
|
||||
© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||
© Copyright 1995 - 2021 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||
Forschung e.V. All rights reserved.
|
||||
|
||||
1. INTRODUCTION
|
||||
@@ -765,9 +765,6 @@ resetFreqBandTables(HANDLE_SBR_HEADER_DATA hHeaderData, const UINT flags) {
|
||||
sbrdecUpdateLoRes(hFreq->freqBandTable[0], &nBandsLo, hFreq->freqBandTable[1],
|
||||
nBandsHi);
|
||||
|
||||
hFreq->nSfb[0] = nBandsLo;
|
||||
hFreq->nSfb[1] = nBandsHi;
|
||||
|
||||
/* Check index to freqBandTable[0] */
|
||||
if (!(nBandsLo > 0) ||
|
||||
(nBandsLo > (((hHeaderData->numberOfAnalysisBands == 16)
|
||||
@@ -777,6 +774,9 @@ resetFreqBandTables(HANDLE_SBR_HEADER_DATA hHeaderData, const UINT flags) {
|
||||
return SBRDEC_UNSUPPORTED_CONFIG;
|
||||
}
|
||||
|
||||
hFreq->nSfb[0] = nBandsLo;
|
||||
hFreq->nSfb[1] = nBandsHi;
|
||||
|
||||
lsb = hFreq->freqBandTable[0][0];
|
||||
usb = hFreq->freqBandTable[0][nBandsLo];
|
||||
|
||||
@@ -814,15 +814,15 @@ resetFreqBandTables(HANDLE_SBR_HEADER_DATA hHeaderData, const UINT flags) {
|
||||
|
||||
if (intTemp == 0) intTemp = 1;
|
||||
|
||||
if (intTemp > MAX_NOISE_COEFFS) {
|
||||
return SBRDEC_UNSUPPORTED_CONFIG;
|
||||
}
|
||||
|
||||
hFreq->nNfb = intTemp;
|
||||
}
|
||||
|
||||
hFreq->nInvfBands = hFreq->nNfb;
|
||||
|
||||
if (hFreq->nNfb > MAX_NOISE_COEFFS) {
|
||||
return SBRDEC_UNSUPPORTED_CONFIG;
|
||||
}
|
||||
|
||||
/* Get noise bands */
|
||||
sbrdecDownSampleLoRes(hFreq->freqBandTableNoise, hFreq->nNfb,
|
||||
hFreq->freqBandTable[0], nBandsLo);
|
||||
|
Reference in New Issue
Block a user