From 176b4e673b50c68456f63fcdd81399ae3d75037e Mon Sep 17 00:00:00 2001 From: Herman Chen Date: Mon, 4 Sep 2023 15:51:14 +0800 Subject: [PATCH] fix[h264d]: fix crash on check reflist Signed-off-by: Herman Chen Change-Id: Ic5f1ea1f0bdd405d58b161b2a4608c7b42ad88b3 --- mpp/codec/dec/h264/h264d_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpp/codec/dec/h264/h264d_init.c b/mpp/codec/dec/h264/h264d_init.c index 0fbed506..fc2348dc 100644 --- a/mpp/codec/dec/h264/h264d_init.c +++ b/mpp/codec/dec/h264/h264d_init.c @@ -1462,7 +1462,7 @@ static RK_U32 check_ref_pic_list(H264_SLICE_t *currSlice, RK_S32 cur_list) if (get_short_term_pic(currSlice, picNumLX, &tmp)) { //!< find short reference MppFrame mframe = NULL; H264D_DBG(H264D_DBG_DPB_REF_ERR, "find short reference, slot_idx=%d.\n", tmp->mem_mark->slot_idx); - if (tmp && tmp->mem_mark) { + if (tmp && tmp->mem_mark && tmp->mem_mark->slot_idx >= 0) { mpp_buf_slot_get_prop(p_Vid->p_Dec->frame_slots, tmp->mem_mark->slot_idx, SLOT_FRAME_PTR, &mframe); if (mframe && !mpp_frame_get_errinfo(mframe)) { error_flag = 0;