[FFmpeg-cvslog] avformat/utils/av_probe_input_buffer2: fix offset check

Michael Niedermayer git at videolan.org
Tue Feb 4 05:34:54 CET 2014


ffmpeg | branch: release/1.1 | Michael Niedermayer <michaelni at gmx.at> | Mon Jan 13 22:17:12 2014 +0100| [3994eebb1e8765a96197811f33fd98a7add4380a] | committer: Michael Niedermayer

avformat/utils/av_probe_input_buffer2: fix offset check

The check could fail if avio_read() read less than requested

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

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

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

 libavformat/utils.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 3a736d1..bd02da6 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -461,9 +461,6 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
         probe_size = FFMIN(probe_size<<1, FFMAX(max_probe_size, probe_size+1))) {
         void *buftmp;
 
-        if (probe_size < offset) {
-            continue;
-        }
         score = probe_size < max_probe_size ? AVPROBE_SCORE_RETRY : 0;
 
         /* read probe data */
@@ -483,6 +480,8 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
             ret = 0;            /* error was end of file, nothing read */
         }
         buf_offset += ret;
+        if (buf_offset < offset)
+            continue;
         pd.buf_size = buf_offset - offset;
         pd.buf = &buf[offset];
 



More information about the ffmpeg-cvslog mailing list