[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