diff options
author | Srujan Vandrangi <srujan.vandrangi@ittiam.com> | 2023-05-25 15:59:40 +0530 |
---|---|---|
committer | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2023-05-26 01:49:21 -0700 |
commit | 42f5600e24672ef5593de90825eff1d29abb65a8 (patch) | |
tree | 706e4e808cc07e02aa43f308beec680534d9e0ab | |
parent | 82636416446681ab742b5aa1e366cc8397f573a0 (diff) | |
download | libhevc-42f5600e24672ef5593de90825eff1d29abb65a8.tar.gz |
decoder: adding out of boundary check while parsing slice header
Bug: oss-fuzz:17070
Test: hevc_dec_fuzzer
-rw-r--r-- | decoder/ihevcd_parse_slice_header.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/decoder/ihevcd_parse_slice_header.c b/decoder/ihevcd_parse_slice_header.c index e452488..9742456 100644 --- a/decoder/ihevcd_parse_slice_header.c +++ b/decoder/ihevcd_parse_slice_header.c @@ -440,6 +440,9 @@ IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec, { numbits = 32 - CLZ(ps_sps->i1_num_short_term_ref_pic_sets - 1); BITS_PARSE("short_term_ref_pic_set_idx", value, ps_bitstrm, numbits); + if (value >= ps_sps->i1_num_short_term_ref_pic_sets) { + return IHEVCD_INVALID_PARAMETER; + } ps_slice_hdr->i1_short_term_ref_pic_set_idx = value; } |