OSDN Git Service

Do not try to decode less than one frame of data in TrueSpeech decoder.
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 11 Jul 2010 14:50:20 +0000 (14:50 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 11 Jul 2010 14:50:20 +0000 (14:50 +0000)
This should solve issue 2085.

Originally committed as revision 24197 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/truespeech.c

index 37fbef9..eafbca5 100644 (file)
@@ -347,6 +347,11 @@ static int truespeech_decode_frame(AVCodecContext *avctx,
     if (!buf_size)
         return 0;
 
+    if (buf_size < 32) {
+        av_log(avctx, AV_LOG_ERROR,
+               "Too small input buffer (%d bytes), need at least 32 bytes\n", buf_size);
+        return -1;
+    }
     iterations = FFMIN(buf_size / 32, *data_size / 480);
     for(j = 0; j < iterations; j++) {
         truespeech_read_frame(c, buf + consumed);