diff options
author | Ramesh Katuri <ramesh.katuri@ittiam.com> | 2018-08-31 16:35:41 +0530 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2018-09-04 11:28:12 -0700 |
commit | 55c1da8c375fb236f669a20c17ac9faf8e14fb07 (patch) | |
tree | 04587280d74505b6b6b1be6286ece198d3b1bd9b /decoder/ixheaacd_aacdecoder.c | |
parent | cad0d07efc493b6884938a339253a7b0fe4b869a (diff) | |
download | libxaac-55c1da8c375fb236f669a20c17ac9faf8e14fb07.tar.gz |
Fix for crc related issues
Maximum crc registers allowed is 7. Crc registers are accessed
and updated inside the function ixheaacd_adts_crc_start_reg().
Check has been added before the function call so that if the
register value is less than 7 then only the function gets called.
Bug:112551726
Bug:112551874
Bug:112609715
Bug:112713720
Bug:112715795
Bug:113261928
Test: poc
Change-Id: I3935546b8fb3dc5c82bee16639df771349e6d2b6
Diffstat (limited to 'decoder/ixheaacd_aacdecoder.c')
-rw-r--r-- | decoder/ixheaacd_aacdecoder.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/decoder/ixheaacd_aacdecoder.c b/decoder/ixheaacd_aacdecoder.c index 8af03ee..d47c244 100644 --- a/decoder/ixheaacd_aacdecoder.c +++ b/decoder/ixheaacd_aacdecoder.c @@ -347,7 +347,8 @@ WORD32 ixheaacd_aacdec_decodeframe( prev_data_ele_present = 1; - if (ptr_adts_crc_info->crc_active == 1) { + if (ptr_adts_crc_info->crc_active == 1 && + ptr_adts_crc_info->no_reg < 7) { crc_reg = ixheaacd_adts_crc_start_reg( ptr_adts_crc_info, it_bit_buff, CRC_ADTS_RAW_DATA_BLK_LEN); } @@ -485,7 +486,8 @@ WORD32 ixheaacd_aacdec_decodeframe( { WORD32 flag = 1; - if ((ele_type != ID_FIL) && (ptr_adts_crc_info->crc_active == 1)) { + if ((ele_type != ID_FIL) && (ptr_adts_crc_info->crc_active == 1) && + (ptr_adts_crc_info->no_reg < 7)) { crc_reg = ixheaacd_adts_crc_start_reg(ptr_adts_crc_info, it_bit_buff, 0); } @@ -586,7 +588,8 @@ WORD32 ixheaacd_aacdec_decodeframe( prev_data_ele_present = 1; - if (ptr_adts_crc_info->crc_active == 1) { + if ((ptr_adts_crc_info->crc_active == 1) && + (ptr_adts_crc_info->no_reg < 7)) { crc_reg = ixheaacd_adts_crc_start_reg( ptr_adts_crc_info, it_bit_buff, CRC_ADTS_RAW_DATA_BLK_LEN); } |