From cb5632c963f14a592f2cf9e875a1a831ba622d31 Mon Sep 17 00:00:00 2001 From: rcaridade145 Date: Fri, 12 Dec 2025 15:03:27 +0000 Subject: [PATCH] Fix size checks and memory initialization in decoder --- dependencies/ih264d/decoder/ih264d_api.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dependencies/ih264d/decoder/ih264d_api.c b/dependencies/ih264d/decoder/ih264d_api.c index 69dfe6bd..0f46fda8 100644 --- a/dependencies/ih264d/decoder/ih264d_api.c +++ b/dependencies/ih264d/decoder/ih264d_api.c @@ -497,7 +497,8 @@ static IV_API_CALL_STATUS_T api_check_struct_sanity(iv_obj_t *ps_handle, } if(ps_op->s_ivd_video_decode_op_t.u4_size - != sizeof(ih264d_video_decode_op_t)&& + != sizeof(ih264d_video_decode_op_t) && + ps_op->s_ivd_video_decode_op_t.u4_size != sizeof(ivd_video_decode_op_t) && ps_op->s_ivd_video_decode_op_t.u4_size != offsetof(ivd_video_decode_op_t, u4_output_present)) { ps_op->s_ivd_video_decode_op_t.u4_error_code |= 1 @@ -1994,7 +1995,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op) { UWORD32 u4_size; u4_size = ps_dec_op->u4_size; - memset(ps_h264d_dec_op, 0, sizeof(ih264d_video_decode_op_t)); + memset(ps_h264d_dec_op, 0, ps_dec_op->u4_size); ps_dec_op->u4_size = u4_size; }