aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrujan Vandrangi <srujan.vandrangi@ittiam.com>2023-05-25 15:59:40 +0530
committerHarish Mahendrakar <harish.mahendrakar@ittiam.com>2023-05-26 01:49:21 -0700
commit42f5600e24672ef5593de90825eff1d29abb65a8 (patch)
tree706e4e808cc07e02aa43f308beec680534d9e0ab
parent82636416446681ab742b5aa1e366cc8397f573a0 (diff)
downloadlibhevc-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.c3
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;
}