diff options
author | Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> | 2016-01-06 21:09:19 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2016-02-07 03:12:33 +0100 |
commit | a32dbf2aed3bb720a28141e1e84284ade3969a49 (patch) | |
tree | 30839a61a14cc11e47a6c8f34bf00f76b2fefe09 | |
parent | 389b79842c67b1f5730215a752a5f89cb1b8d9a3 (diff) | |
download | ffmpeg-a32dbf2aed3bb720a28141e1e84284ade3969a49.tar.gz |
asfdec: break if EOF is reached after asf_read_packet_header
asf_read_payload can unset eof_reached, so check it also before calling
that function.
This fixes infinite loops.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavformat/asfdec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index 90a1df4c6a..460df2aeaf 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -1425,6 +1425,8 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) while (!pb->eof_reached) { if (asf->state == PARSE_PACKET_HEADER) { asf_read_packet_header(s); + if (pb->eof_reached) + break; if (!asf->nb_mult_left) asf->state = READ_SINGLE; else |