Decoder: Fix in checking first_mb_in_slice
Also, increment slice header only if previous slice had atleast one MB
This is to ensure there is no out of bound read for streams with 1 MB, and
due to error 2 slices were being accessed.
Bug: 33982658
Change-Id: I5f1918c09e922ca39f495f6059dfea3fa1d49448
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c
index 054dd62..c0195d7 100644
--- a/decoder/ih264d_parse_slice.c
+++ b/decoder/ih264d_parse_slice.c
@@ -1070,8 +1070,7 @@
/*we currently don not support ASO*/
if(((u2_first_mb_in_slice << ps_cur_slice->u1_mbaff_frame_flag)
- <= ps_dec->u2_cur_mb_addr) && (ps_dec->u2_cur_mb_addr != 0)
- && (ps_dec->u4_first_slice_in_pic != 0))
+ <= ps_dec->u2_cur_mb_addr) && (ps_dec->u4_first_slice_in_pic == 0))
{
return ERROR_CORRUPTED_SLICE;
}