[FFmpeg-cvslog] ttadec: check channel count as read from extradata.

Shitiz Garg git at videolan.org
Sun Dec 11 01:12:50 CET 2011


ffmpeg | branch: master | Shitiz Garg <mail at dragooon.net> | Sun Dec 11 01:28:57 2011 +0530| [8bd1f1a4c8e591e92e7f4933a89fe5de72e5563f] | committer: Justin Ruggles

ttadec: check channel count as read from extradata.

fixes floating-point exception due to channels being set to 0.
fixes Bug 128.

Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>

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

 libavcodec/tta.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 6b76f52..c8d58fd 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -221,6 +221,11 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
         s->data_length = get_bits_long(&s->gb, 32);
         skip_bits(&s->gb, 32); // CRC32 of header
 
+        if (s->channels == 0) {
+            av_log(s->avctx, AV_LOG_ERROR, "Invalid number of channels\n");
+            return AVERROR_INVALIDDATA;
+        }
+
         switch(s->bps) {
         case 2:
             avctx->sample_fmt = AV_SAMPLE_FMT_S16;



More information about the ffmpeg-cvslog mailing list