[FFmpeg-cvslog] rpl: Fix near infinite loop in index reading due to missing eof check.
Michael Niedermayer
git at videolan.org
Sun Dec 25 00:23:38 CET 2011
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Dec 24 19:57:18 2011 +0100| [43abef9fde0cf87153cc9031cad61f75b02cfa01] | committer: Michael Niedermayer
rpl: Fix near infinite loop in index reading due to missing eof check.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43abef9fde0cf87153cc9031cad61f75b02cfa01
---
libavformat/rpl.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/rpl.c b/libavformat/rpl.c
index 9816cb7..7100331 100644
--- a/libavformat/rpl.c
+++ b/libavformat/rpl.c
@@ -58,7 +58,7 @@ static int read_line(AVIOContext * pb, char* line, int bufsize)
break;
if (b == '\n') {
line[i] = '\0';
- return 0;
+ return url_feof(pb) ? -1 : 0;
}
line[i] = b;
}
@@ -252,7 +252,7 @@ static int rpl_read_header(AVFormatContext *s, AVFormatParameters *ap)
// Read the index
avio_seek(pb, chunk_catalog_offset, SEEK_SET);
total_audio_size = 0;
- for (i = 0; i < number_of_chunks; i++) {
+ for (i = 0; !error && i < number_of_chunks; i++) {
int64_t offset, video_size, audio_size;
error |= read_line(pb, line, sizeof(line));
if (3 != sscanf(line, "%"PRId64" , %"PRId64" ; %"PRId64,
More information about the ffmpeg-cvslog
mailing list