Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: 2a7b438754

am: fca1027937

Change-Id: I8803d858a432aea8fba8b7ec29ba28458e7418d8
This commit is contained in:
Jean-Michel Trivi 2017-11-03 19:13:45 +00:00 committed by android-build-merger
commit d8e897ae9e
1 changed files with 7 additions and 3 deletions

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