diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-02-28 16:13:46 -0800 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2012-04-01 18:33:27 +0200 |
commit | a2d5e741a889bfed621e18a94ff266d49d280557 (patch) | |
tree | d6fdc4f0b968081d67960b6cc5f8f082fa01f9d9 | |
parent | 18caebca4c91605fd0a9f5bc339a63be9a6c977a (diff) | |
download | ffmpeg-a2d5e741a889bfed621e18a94ff266d49d280557.tar.gz |
asf: don't seek back on EOF.
Seeking back on EOF will reset the EOF flag, causing us to re-enter
the loop to find the next marker in the ASF file, thus potentially
causing an infinite loop.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit bb6d5411e1e1a8e0608b1af1c4addee654dcbac5)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r-- | libavformat/asfdec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index 61721704d5..47d5b190c3 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -761,7 +761,7 @@ static int ff_asf_get_packet(AVFormatContext *s, AVIOContext *pb) c= avio_r8(pb); d= avio_r8(pb); rsize+=3; - }else{ + } else if (!pb->eof_reached) { avio_seek(pb, -1, SEEK_CUR); //FIXME } |