diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2020-04-09 17:54:33 +0200 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2021-02-14 12:22:34 -0800 |
commit | baa32039711dd15772f65eb61e2ce131dbaefc49 (patch) | |
tree | 3f814585e2cde6873aefce86600cd2787ad26667 /libAACdec/src | |
parent | a7c64ff42f1c67960acb9686555ecbc683e3762c (diff) | |
download | fdk-aac-baa32039711dd15772f65eb61e2ce131dbaefc49.tar.gz fdk-aac-baa32039711dd15772f65eb61e2ce131dbaefc49.tar.bz2 fdk-aac-baa32039711dd15772f65eb61e2ce131dbaefc49.zip |
Validate DRC compression factor and DRC boost factor value range in aacDecoder_SetParam().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I1d8534145bcf400c5da58d64d3b7e73a87cb43be
Diffstat (limited to 'libAACdec/src')
-rw-r--r-- | libAACdec/src/aacdecoder_lib.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp index 2b5cd8b..3ef7140 100644 --- a/libAACdec/src/aacdecoder_lib.cpp +++ b/libAACdec/src/aacdecoder_lib.cpp @@ -820,6 +820,9 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_SetParam( case AAC_DRC_ATTENUATION_FACTOR: /* DRC compression factor (where 0 is no and 127 is max compression) */ + if ((value < 0) || (value > 127)) { + return AAC_DEC_SET_PARAM_FAIL; + } errorStatus = aacDecoder_drcSetParam(hDrcInfo, DRC_CUT_SCALE, value); uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_COMPRESS, value * (FL2FXCONST_DBL(0.5f / 127.0f))); @@ -827,6 +830,9 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_SetParam( case AAC_DRC_BOOST_FACTOR: /* DRC boost factor (where 0 is no and 127 is max boost) */ + if ((value < 0) || (value > 127)) { + return AAC_DEC_SET_PARAM_FAIL; + } errorStatus = aacDecoder_drcSetParam(hDrcInfo, DRC_BOOST_SCALE, value); uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_BOOST, value * (FL2FXCONST_DBL(0.5f / 127.0f))); |