diff options
author | Martin Storsjo <martin@martin.st> | 2019-01-21 15:54:25 +0200 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2019-01-21 15:54:25 +0200 |
commit | 02103fd6308a40c58013d8ec8610ad8a71075aca (patch) | |
tree | 77e30d296d5cec1f24b5c0e03b49f197d5bf080e /libFDK/src/nlc_dec.cpp | |
parent | 2326faaf8f2cdf2c3a9108ccdaf1d7551aec543e (diff) | |
parent | ed56e77acb1ca4524bf49d9cdec7d11a51f5134d (diff) | |
download | fdk-aac-02103fd6308a40c58013d8ec8610ad8a71075aca.tar.gz fdk-aac-02103fd6308a40c58013d8ec8610ad8a71075aca.tar.bz2 fdk-aac-02103fd6308a40c58013d8ec8610ad8a71075aca.zip |
Merge remote-tracking branch 'aosp/master'
Diffstat (limited to 'libFDK/src/nlc_dec.cpp')
-rw-r--r-- | libFDK/src/nlc_dec.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libFDK/src/nlc_dec.cpp b/libFDK/src/nlc_dec.cpp index 8a8ccfd..6e98ce0 100644 --- a/libFDK/src/nlc_dec.cpp +++ b/libFDK/src/nlc_dec.cpp @@ -647,6 +647,10 @@ static ERROR_t huff_decode(HANDLE_FDK_BITSTREAM strm, SCHAR* out_data_1, } df_rest_flag_1 = num_val_1_int % 2; if (df_rest_flag_1) num_val_1_int -= 1; + if (num_val_1_int < 0) { + err = HUFFDEC_NOTOK; + goto bail; + } } if (out_data_2 != NULL) { if (diff_type_2 == DIFF_FREQ) { @@ -658,6 +662,10 @@ static ERROR_t huff_decode(HANDLE_FDK_BITSTREAM strm, SCHAR* out_data_1, } df_rest_flag_2 = num_val_2_int % 2; if (df_rest_flag_2) num_val_2_int -= 1; + if (num_val_2_int < 0) { + err = HUFFDEC_NOTOK; + goto bail; + } } if (out_data_1 != NULL) { |