[FFmpeg-cvslog] src_movie: fix scanf string

Michael Niedermayer git at videolan.org
Thu May 9 22:52:28 CEST 2013


ffmpeg | branch: release/1.2 | Michael Niedermayer <michaelni at gmx.at> | Sun May  5 00:56:39 2013 +0200| [1ce3f736d2aa531af362d75f675efb11e36c5172] | committer: Michael Niedermayer

src_movie: fix scanf string

Fixes out of array accesses

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

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

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

 libavfilter/src_movie.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index bd45766..ec9131e 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -91,13 +91,13 @@ static int movie_request_frame(AVFilterLink *outlink);
 static AVStream *find_stream(void *log, AVFormatContext *avf, const char *spec)
 {
     int i, ret, already = 0, stream_id = -1;
-    char type_char, dummy;
+    char type_char[2], dummy;
     AVStream *found = NULL;
     enum AVMediaType type;
 
-    ret = sscanf(spec, "d%[av]%d%c", &type_char, &stream_id, &dummy);
+    ret = sscanf(spec, "d%1[av]%d%c", type_char, &stream_id, &dummy);
     if (ret >= 1 && ret <= 2) {
-        type = type_char == 'v' ? AVMEDIA_TYPE_VIDEO : AVMEDIA_TYPE_AUDIO;
+        type = type_char[0] == 'v' ? AVMEDIA_TYPE_VIDEO : AVMEDIA_TYPE_AUDIO;
         ret = av_find_best_stream(avf, type, stream_id, -1, NULL, 0);
         if (ret < 0) {
             av_log(log, AV_LOG_ERROR, "No %s stream with index '%d' found\n",



More information about the ffmpeg-cvslog mailing list