diff options
author | Rajat Kumar <rajat.kumar@ittiam.com> | 2019-03-12 15:12:59 +0530 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2019-03-27 15:49:39 -0700 |
commit | 7b43401d30039602828bd43b54827fa76d43f283 (patch) | |
tree | e0ba35b4fa3c42b4ebfe5a6dfc81c4d0a63def36 | |
parent | 7a36f59037e34dcf9c55e6eeebd0c67000194688 (diff) | |
download | libxaac-7b43401d30039602828bd43b54827fa76d43f283.tar.gz |
Initialize all allocated memory blocks to zero
Bug: 124323156
Test: poc
Change-Id: I69b035d1b6bab81244dde319d4fceb3f42837380
-rw-r--r-- | decoder/drc_src/impd_drc_api.c | 9 | ||||
-rw-r--r-- | decoder/drc_src/impd_drc_init.c | 1 | ||||
-rw-r--r-- | decoder/ixheaacd_aacdec.h | 1 | ||||
-rw-r--r-- | decoder/ixheaacd_api.c | 9 | ||||
-rw-r--r-- | test/ixheaacd_main.c | 1 |
5 files changed, 10 insertions, 11 deletions
diff --git a/decoder/drc_src/impd_drc_api.c b/decoder/drc_src/impd_drc_api.c index c0edced..bf55db2 100644 --- a/decoder/drc_src/impd_drc_api.c +++ b/decoder/drc_src/impd_drc_api.c @@ -435,6 +435,9 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx, break; } case IA_API_CMD_SET_MEMTABS_PTR: { + if (ps_value == NULL) return IA_DRC_DEC_API_FATAL_MEM_ALLOC; + memset(ps_value, 0, + (sizeof(ia_mem_info_struct) + sizeof(pVOID *)) * (NUM_DRC_TABLES)); p_obj_drc->p_mem_info = (ia_mem_info_struct *)(ps_value); p_obj_drc->pp_mem = (pVOID)((SIZE_T)p_obj_drc->p_mem_info + @@ -558,8 +561,6 @@ IA_ERRORCODE impd_drc_mem_api(ia_drc_api_struct *p_obj_drc, WORD32 i_cmd, break; } case IA_API_CMD_SET_MEM_PTR: { - pWORD8 pbtemp; - UWORD32 sz; if (pv_value == 0) { return (-1); } @@ -567,12 +568,10 @@ IA_ERRORCODE impd_drc_mem_api(ia_drc_api_struct *p_obj_drc, WORD32 i_cmd, return (-1); } p_obj_drc->pp_mem[i_idx] = pv_value; - pbtemp = p_obj_drc->pp_mem[i_idx]; - sz = p_obj_drc->p_mem_info[i_idx].ui_size; + memset(p_obj_drc->pp_mem[i_idx], 0, p_obj_drc->p_mem_info[i_idx].ui_size); if (IA_MEMTYPE_PERSIST == i_idx) { p_obj_drc->p_state = pv_value; } - memset(pbtemp, 0, sz); break; } case IA_API_CMD_SET_MEM_PLACEMENT: { diff --git a/decoder/drc_src/impd_drc_init.c b/decoder/drc_src/impd_drc_init.c index 14830ed..b4711c8 100644 --- a/decoder/drc_src/impd_drc_init.c +++ b/decoder/drc_src/impd_drc_init.c @@ -89,6 +89,7 @@ static WORD32 impd_match_downmix(WORD32 downmix_id, WORD32 dec_downmix_id) { } IA_ERRORCODE impd_drc_set_default_config(ia_drc_api_struct *p_obj_drc) { + memset(p_obj_drc, 0, sizeof(*p_obj_drc)); p_obj_drc->str_config.bitstream_file_format = 0; p_obj_drc->str_config.dec_type = 0; p_obj_drc->str_config.sub_band_domain_mode = 0; diff --git a/decoder/ixheaacd_aacdec.h b/decoder/ixheaacd_aacdec.h index ec1af57..8f161eb 100644 --- a/decoder/ixheaacd_aacdec.h +++ b/decoder/ixheaacd_aacdec.h @@ -23,7 +23,6 @@ #define AAC_DEC_OK IA_ENHAACPLUS_DEC_API_NONFATAL_NO_ERROR #define IA_ENHAACPDEC_NUM_MEMTABS (4) -#define IA_MPS_DEC_NUM_MEMTABS (4) #define FRAME_SIZE 1024 diff --git a/decoder/ixheaacd_api.c b/decoder/ixheaacd_api.c index 2652d27..7ecfcbe 100644 --- a/decoder/ixheaacd_api.c +++ b/decoder/ixheaacd_api.c @@ -150,9 +150,6 @@ IA_ERRORCODE ixheaacd_dec_mem_api( sizeof(ia_audio_specific_config_struct) + (8300)); p_obj_exhaacplus_dec->p_state_aac = pv_value; - memset(p_obj_exhaacplus_dec->p_state_aac, 0, - sizeof(ia_aac_dec_state_struct)); - p_obj_exhaacplus_dec->p_state_aac->pstr_dec_data = p_temp; p_obj_exhaacplus_dec->p_state_aac->ia_audio_specific_config = p_temp + sizeof(ia_dec_data_struct); @@ -781,10 +778,14 @@ IA_ERRORCODE ixheaacd_dec_api(pVOID p_ia_enhaacplus_dec_obj, WORD32 i_cmd, case IA_API_CMD_GET_MEMTABS_SIZE: { *pui_value = (sizeof(ia_mem_info_struct) + sizeof(pVOID *)) * - (IA_ENHAACPDEC_NUM_MEMTABS + IA_MPS_DEC_NUM_MEMTABS); + (IA_ENHAACPDEC_NUM_MEMTABS); break; } case IA_API_CMD_SET_MEMTABS_PTR: { + if (pv_value == NULL) return IA_ENHAACPLUS_DEC_API_FATAL_MEM_ALLOC; + memset(pv_value, 0, (sizeof(ia_mem_info_struct) + sizeof(pVOID *)) * + (IA_ENHAACPDEC_NUM_MEMTABS)); + p_obj_exhaacplus_dec->p_mem_info_aac = pv_value; p_obj_exhaacplus_dec->pp_mem_aac = (pVOID *)((WORD8 *)pv_value + diff --git a/test/ixheaacd_main.c b/test/ixheaacd_main.c index 55f62d9..6db9fe4 100644 --- a/test/ixheaacd_main.c +++ b/test/ixheaacd_main.c @@ -923,7 +923,6 @@ int ixheaacd_main_process(WORD32 argc, pWORD8 argv[]) { /* Allocate memory for API */ g_pv_arr_alloc_memory[g_w_malloc_count] = malloc(pui_api_size + 4); - memset(g_pv_arr_alloc_memory[g_w_malloc_count], 0, pui_api_size); if (g_pv_arr_alloc_memory[g_w_malloc_count] == NULL) { _IA_HANDLE_ERROR(&ixheaacd_ia_testbench_error_info, (pWORD8) "API struct alloc", err_code); |