summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2010-07-11 14:50:20 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2010-07-11 14:50:20 +0000
commit231745781f16bbee6af0e11459087d9272cb0853 (patch)
tree84ec3026bef37c968db90d8bdfcd4c7bc05b1f74
parent922189feb065bc0c7aaa87146ad4d43b6e528b7b (diff)
Do not try to decode less than one frame of data in TrueSpeech decoder.
This should solve issue 2085. Originally committed as revision 24197 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/truespeech.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
index 37fbef9dea..eafbca52d8 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -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);