diff options
author | Hamsalekha S <hamsalekha.s@ittiam.com> | 2017-09-08 14:22:22 +0530 |
---|---|---|
committer | Dan Pasanen <dan.pasanen@gmail.com> | 2017-11-15 13:56:06 -0600 |
commit | 8802e623ce24c8b1d0590230f40f2222b9a36044 (patch) | |
tree | 35f0181e539a5bee4f4c6e294d2db7dee7403dec | |
parent | 089b44f646680b89d721d061edb8ca086fdf4663 (diff) | |
download | android_external_libavc-8802e623ce24c8b1d0590230f40f2222b9a36044.tar.gz android_external_libavc-8802e623ce24c8b1d0590230f40f2222b9a36044.tar.bz2 android_external_libavc-8802e623ce24c8b1d0590230f40f2222b9a36044.zip |
Decoder: Updated error check while parsing num_ref_idx_lx_active.
Added an error check on the lower limit of u1_num_ref_idx_lx_active,
while parsing slice header. The minimum possible value is 1.
Bug: 64836894
Change-Id: I57056851fc135ed00f7a10af5c81eb560e9e12de
(cherry picked from commit 208c74d62a3e1039dc87818306e057877760fbaa)
-rw-r--r-- | decoder/ih264d_parse_bslice.c | 3 | ||||
-rw-r--r-- | decoder/ih264d_parse_pslice.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/decoder/ih264d_parse_bslice.c b/decoder/ih264d_parse_bslice.c index 4418429..f087f8d 100644 --- a/decoder/ih264d_parse_bslice.c +++ b/decoder/ih264d_parse_bslice.c @@ -1399,7 +1399,8 @@ WORD32 ih264d_parse_bslice(dec_struct_t * ps_dec, UWORD16 u2_first_mb_in_slice) { u1_max_ref_idx = MAX_FRAMES << 1; } - if((u4_temp > u1_max_ref_idx) || (ui_temp1 > u1_max_ref_idx)) + if((u4_temp > u1_max_ref_idx) || (ui_temp1 > u1_max_ref_idx) + || (u4_temp < 1) || (ui_temp1 < 1)) { return ERROR_NUM_REF; } diff --git a/decoder/ih264d_parse_pslice.c b/decoder/ih264d_parse_pslice.c index d6b0f23..9b9256b 100644 --- a/decoder/ih264d_parse_pslice.c +++ b/decoder/ih264d_parse_pslice.c @@ -1961,7 +1961,7 @@ WORD32 ih264d_parse_pslice(dec_struct_t *ps_dec, UWORD16 u2_first_mb_in_slice) UWORD8 u1_max_ref_idx = MAX_FRAMES << u1_field_pic_flag; - if(u4_temp > u1_max_ref_idx) + if(u4_temp > u1_max_ref_idx || u4_temp < 1) { return ERROR_NUM_REF; } |