From f4f3556e04a9776bcc776523ae0763e7d0d5c668 Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Thu, 10 Nov 2016 14:28:28 +0530 Subject: [PATCH] Handle invalid slice_address in slice header If an invalid slice_address was parsed, it was resulting in an incomplete slice header during decode stage. Fix this by not incrementing slice_idx for ignore slice error Bug: 32322258 Change-Id: I8638d7094d65f4409faa9b9e337ef7e7b64505de --- decoder/ihevcd_decode.c | 1 + 1 file changed, 1 insertion(+) diff --git a/decoder/ihevcd_decode.c b/decoder/ihevcd_decode.c index 94de640..4fff9c4 100644 --- a/decoder/ihevcd_decode.c +++ b/decoder/ihevcd_decode.c @@ -601,6 +601,7 @@ WORD32 ihevcd_decode(iv_obj_t *ps_codec_obj, void *pv_api_ip, void *pv_api_op) if(IHEVCD_IGNORE_SLICE == ret) { + ps_codec->s_parse.i4_cur_slice_idx = MAX(0, (ps_codec->s_parse.i4_cur_slice_idx - 1)); ps_codec->pu1_inp_bitsbuf += (nal_ofst + nal_len); ps_codec->i4_bytes_remaining -= (nal_ofst + nal_len);