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);