diff options
author | Naveen Kumar P <naveenkumar.p@ittiam.com> | 2017-05-17 14:15:44 +0530 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2018-03-14 14:03:44 -0700 |
commit | 4286d31e9e121e1005ad8986bcbf9ba3f62122ee (patch) | |
tree | 81162be4a115db4de3bbad6a714b191e2d09444f /decoder/ihevcd_parse_headers.c | |
parent | 391675790d896dabbe79667cfffdcfaad136e25b (diff) | |
download | libhevc-4286d31e9e121e1005ad8986bcbf9ba3f62122ee.tar.gz |
Return error for invalid reorder parameter
Bug: 62689208
Test: before/after process PoC on ASAN builds.
Change-Id: Ib1404bdf512fba28c2641f3f2022811a2a2d7751
Diffstat (limited to 'decoder/ihevcd_parse_headers.c')
-rw-r--r-- | decoder/ihevcd_parse_headers.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c index 5671524..8bc5940 100644 --- a/decoder/ihevcd_parse_headers.c +++ b/decoder/ihevcd_parse_headers.c @@ -1343,20 +1343,18 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec) for(; i < ps_sps->i1_sps_max_sub_layers; i++) { UEV_PARSE("max_dec_pic_buffering", value, ps_bitstrm); - ps_sps->ai1_sps_max_dec_pic_buffering[i] = value + 1; - - if(ps_sps->ai1_sps_max_dec_pic_buffering[i] > MAX_DPB_SIZE) + if((value + 1) > MAX_DPB_SIZE) { return IHEVCD_INVALID_PARAMETER; } + ps_sps->ai1_sps_max_dec_pic_buffering[i] = value + 1; UEV_PARSE("num_reorder_pics", value, ps_bitstrm); - ps_sps->ai1_sps_max_num_reorder_pics[i] = value; - - if(ps_sps->ai1_sps_max_num_reorder_pics[i] > ps_sps->ai1_sps_max_dec_pic_buffering[i]) + if(value > ps_sps->ai1_sps_max_dec_pic_buffering[i]) { return IHEVCD_INVALID_PARAMETER; } + ps_sps->ai1_sps_max_num_reorder_pics[i] = value; UEV_PARSE("max_latency_increase", value, ps_bitstrm); ps_sps->ai1_sps_max_latency_increase[i] = value; |