Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: 2a7b438754 am: fca1027937 am: d8e897ae9e am: 6e15baff97 am: 06c27a9feb am: e6b649a380 am: 902decfc99 am: 77aac03fb6 am: 5a2ae5cc27 am: 117691fe59

am: 60c9a6e4c7

Change-Id: I6551d0525de65b975ccae8abd0569597d9a39c9b
This commit is contained in:
Jean-Michel Trivi 2017-11-03 19:43:02 +00:00 committed by android-build-merger
commit 565a2fba56
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 */
FDKmemclear(bwIndex, pSettings->noOfPatches*sizeof(INT));
FDKmemclear(bwIndex, MAX_NUM_PATCHES*sizeof(INT));
/*
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) );
/* 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]++;
}
/*
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++){
pSettings->bwBorders[i] = noiseBandTable[i+1];
}
for (;i < MAX_NUM_NOISE_VALUES; i++) {
pSettings->bwBorders[i] = 255;
}
/*
* Choose whitening factors