]> git.sesse.net Git - ffmpeg/commit
mpeg12dec: move setting first_field to mpeg_field_start()
authorAnton Khirnov <anton@khirnov.net>
Sat, 17 Dec 2016 16:04:55 +0000 (17:04 +0100)
committerAnton Khirnov <anton@khirnov.net>
Mon, 19 Dec 2016 07:15:49 +0000 (08:15 +0100)
commitc2fa6bb0e8703a7a6aa10e11f9ab36094416d83f
tree8ab6b3c269c171a379bc2c5e2e819d69fc0e4a6b
parente807491fc6a336e4becc0cbc981274a8fde18aba
mpeg12dec: move setting first_field to mpeg_field_start()

For field picture, the first_field is set based on its previous value.
Before this commit, first_field is set when reading the picture
coding extension. However, in corrupted files there may be multiple
picture coding extension headers, so the final value of first_field that
is actually used during decoding can be wrong. That can lead to various
undefined behaviour, like predicting from a non-existing field.

Fix this problem, by setting first_field in mpeg_field_start(), which
should be called exactly once per field.

CC: libav-stable@libav.org
Bug-ID: 999
libavcodec/mpeg12dec.c