aboutsummaryrefslogtreecommitdiff
path: root/decoder/ixheaacd_aacdecoder.c
diff options
context:
space:
mode:
authorRamesh Katuri <ramesh.katuri@ittiam.com>2018-08-31 16:35:41 +0530
committerRay Essick <essick@google.com>2018-09-04 11:28:12 -0700
commit55c1da8c375fb236f669a20c17ac9faf8e14fb07 (patch)
tree04587280d74505b6b6b1be6286ece198d3b1bd9b /decoder/ixheaacd_aacdecoder.c
parentcad0d07efc493b6884938a339253a7b0fe4b869a (diff)
downloadlibxaac-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.c9
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);
}