summaryrefslogtreecommitdiffstats
path: root/decoder
diff options
context:
space:
mode:
authorNaveen Kumar P <naveenkumar.p@ittiam.com>2017-05-17 14:15:44 +0530
committerMSe <mse1969@posteo.de>2018-06-08 19:30:42 +0200
commit09f8990ab332343abf1da6e703287e03e2669291 (patch)
tree0abf7cd10b420124636249bd126f8536d1e30a7a /decoder
parent9648e375eab80ef82b2d11f85d2d153a01d97902 (diff)
downloadandroid_external_libhevc-09f8990ab332343abf1da6e703287e03e2669291.tar.gz
android_external_libhevc-09f8990ab332343abf1da6e703287e03e2669291.tar.bz2
android_external_libhevc-09f8990ab332343abf1da6e703287e03e2669291.zip
Return error for invalid reorder parameter
Bug: 62689208 Test: before/after process PoC on ASAN builds. Change-Id: Ib1404bdf512fba28c2641f3f2022811a2a2d7751 (cherry picked from commit 4286d31e9e121e1005ad8986bcbf9ba3f62122ee) CVE-2018-9352
Diffstat (limited to 'decoder')
-rw-r--r--decoder/ihevcd_parse_headers.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c
index 4749ab2..4769355 100644
--- a/decoder/ihevcd_parse_headers.c
+++ b/decoder/ihevcd_parse_headers.c
@@ -1334,20 +1334,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;