aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajat Kumar <rajat.kumar@ittiam.com>2019-03-12 15:12:59 +0530
committerRay Essick <essick@google.com>2019-03-27 15:49:39 -0700
commit7b43401d30039602828bd43b54827fa76d43f283 (patch)
treee0ba35b4fa3c42b4ebfe5a6dfc81c4d0a63def36
parent7a36f59037e34dcf9c55e6eeebd0c67000194688 (diff)
downloadlibxaac-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.c9
-rw-r--r--decoder/drc_src/impd_drc_init.c1
-rw-r--r--decoder/ixheaacd_aacdec.h1
-rw-r--r--decoder/ixheaacd_api.c9
-rw-r--r--test/ixheaacd_main.c1
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);