aboutsummaryrefslogtreecommitdiffstats
path: root/libDRCdec/src/drcGainDec_preprocess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libDRCdec/src/drcGainDec_preprocess.cpp')
-rw-r--r--libDRCdec/src/drcGainDec_preprocess.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libDRCdec/src/drcGainDec_preprocess.cpp b/libDRCdec/src/drcGainDec_preprocess.cpp
index c543c53..514e977 100644
--- a/libDRCdec/src/drcGainDec_preprocess.cpp
+++ b/libDRCdec/src/drcGainDec_preprocess.cpp
@@ -676,6 +676,7 @@ prepareDrcGain(HANDLE_DRC_GAIN_DECODER hGainDec,
nDrcBands = pActiveDrc->bandCountForChannelGroup[g];
for (b = 0; b < nDrcBands; b++) {
DRC_ERROR err = DE_OK;
+ if (gainSetIndex >= 12) return DE_PARAM_OUT_OF_RANGE;
GAIN_SET* pGainSet = &(pCoef->gainSet[gainSetIndex]);
int seq = pGainSet->gainSequenceIndex[b];
DRC_CHARACTERISTIC* pDChar = &(pGainSet->drcCharacteristic[b]);
@@ -694,6 +695,7 @@ prepareDrcGain(HANDLE_DRC_GAIN_DECODER hGainDec,
err = _prepareDrcCharacteristic(pDChar, pCoef, b, &nodeMod);
if (err) return err;
+ if (seq >= 12) return DE_PARAM_OUT_OF_RANGE;
/* copy a node buffer and convert from dB to linear */
pLnb->nNodes[lnbp] = fMin((int)hUniDrcGain->nNodes[seq], 16);
for (i = 0; i < pLnb->nNodes[lnbp]; i++) {