1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-06-05 22:39:13 +02:00

Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: 2a7b438754 am: fca1027937 am: d8e897ae9e am: 6e15baff97 am: 06c27a9feb

am: e6b649a380

Change-Id: I54610df83d3e84021bd71e81c2f910545908c986
This commit is contained in:
Jean-Michel Trivi
2017-11-03 19:25:27 +00:00
committed by android-build-merger

View File

@@ -293,7 +293,7 @@ void lppTransposer (HANDLE_SBR_LPP_TRANS hLppTrans, /*!< Handle of lpp transp
} }
/* init bwIndex for each patch */ /* init bwIndex for each patch */
FDKmemclear(bwIndex, pSettings->noOfPatches*sizeof(INT)); FDKmemclear(bwIndex, MAX_NUM_PATCHES*sizeof(INT));
/* /*
Calc common low band scale factor Calc common low band scale factor
@@ -621,9 +621,9 @@ void lppTransposer (HANDLE_SBR_LPP_TRANS hLppTrans, /*!< Handle of lpp transp
FDK_ASSERT( hiBand < (64) ); FDK_ASSERT( hiBand < (64) );
/* bwIndex[patch] is already initialized with value from previous band inside this patch */ /* bwIndex[patch] is already initialized with value from previous band inside this patch */
while (hiBand >= pSettings->bwBorders[bwIndex[patch]]) while (hiBand >= pSettings->bwBorders[bwIndex[patch]] && bwIndex[patch] < MAX_NUM_PATCHES-1) {
bwIndex[patch]++; bwIndex[patch]++;
}
/* /*
Filter Step 2: add the left slope with the current filter to the buffer Filter Step 2: add the left slope with the current filter to the buffer
@@ -962,6 +962,10 @@ resetLppTransposer (HANDLE_SBR_LPP_TRANS hLppTrans, /*!< Handle of lpp transpos
for(i = 0 ; i < noNoiseBands; i++){ for(i = 0 ; i < noNoiseBands; i++){
pSettings->bwBorders[i] = noiseBandTable[i+1]; pSettings->bwBorders[i] = noiseBandTable[i+1];
} }
for (;i < MAX_NUM_NOISE_VALUES; i++) {
pSettings->bwBorders[i] = 255;
}
/* /*
* Choose whitening factors * Choose whitening factors