On 2013-12-16 22:26:00 +0100, Anton Khirnov wrote: > It will be set when needed if the slice header is decoded successfully. > Prevents the NAL_DPC code from assuming the slice header was decoded > when it was not, leading to invalid reads. > > Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind > CC:[email protected] > --- > libavcodec/h264.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/libavcodec/h264.c b/libavcodec/h264.c > index 07a93cf..a7355ac 100644 > --- a/libavcodec/h264.c > +++ b/libavcodec/h264.c > @@ -3338,6 +3338,8 @@ static int decode_slice_header(H264Context *h, > H264Context *h0) > int needs_reinit = 0; > int field_pic_flag, bottom_field_flag; > > + h->data_partitioning = 0; > + > h->me.qpel_put = h->h264qpel.put_h264_qpel_pixels_tab; > h->me.qpel_avg = h->h264qpel.avg_h264_qpel_pixels_tab;
I would prefer to unset data_partitioning in 'case NAL_DPA:' when decode_slice_header() failed. that would also be the appropiate location for a comment why data_partitioning is cleared. Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
