[FFmpeg-cvslog] avformat/aviobuf: Fix infinite loop in ff_get_line()

Michael Niedermayer git at videolan.org
Sat Dec 20 02:47:07 CET 2014


ffmpeg | branch: release/2.4 | Michael Niedermayer <michaelni at gmx.at> | Wed Dec  3 19:05:56 2014 +0100| [c4e18917d4f7cf9ff27895330e43289f2ac00e89] | committer: Michael Niedermayer

avformat/aviobuf: Fix infinite loop in ff_get_line()

Fixes ticket4152

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit eac5c7b8377f3f0e8262ab44e5ccb2c7ed060cdd)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c4e18917d4f7cf9ff27895330e43289f2ac00e89
---

 libavformat/aviobuf.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 9795ba4..b1752cd 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -674,7 +674,7 @@ int ff_get_line(AVIOContext *s, char *buf, int maxlen)
         if (c && i < maxlen-1)
             buf[i++] = c;
     } while (c != '\n' && c != '\r' && c);
-    if (c == '\r' && avio_r8(s) != '\n')
+    if (c == '\r' && avio_r8(s) != '\n' && !avio_feof(s))
         avio_skip(s, -1);
 
     buf[i] = 0;



More information about the ffmpeg-cvslog mailing list