aboutsummaryrefslogtreecommitdiffstats
path: root/libAACdec/src/aacdecoder_lib.cpp
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-12-28 18:30:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-12-28 18:30:10 +0000
commit04d0fa42ff6b0ac589f09da1c97ff8e809000166 (patch)
tree4273511e2bf62f8094dfb97864077e2c77077a1f /libAACdec/src/aacdecoder_lib.cpp
parent37084173037ae61d1ac10fe2f8afd31d44c23967 (diff)
parent293ccc7fbc509cc0ba4d944bd1bb9ad6f79c037d (diff)
downloadfdk-aac-04d0fa42ff6b0ac589f09da1c97ff8e809000166.tar.gz
fdk-aac-04d0fa42ff6b0ac589f09da1c97ff8e809000166.tar.bz2
fdk-aac-04d0fa42ff6b0ac589f09da1c97ff8e809000166.zip
Merge changes I5eb0f88a,I1d853414
* changes: Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD(). Validate DRC compression factor and DRC boost factor value range in aacDecoder_SetParam().
Diffstat (limited to 'libAACdec/src/aacdecoder_lib.cpp')
-rw-r--r--libAACdec/src/aacdecoder_lib.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp
index 0f281eb..4c0d347 100644
--- a/libAACdec/src/aacdecoder_lib.cpp
+++ b/libAACdec/src/aacdecoder_lib.cpp
@@ -822,6 +822,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)));
@@ -829,6 +832,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)));