From 92f7f1db421ee8b3431534fa09e8050ba622c33a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 28 Mar 2012 14:51:21 +0200 Subject: [PATCH] indeo4: Check for mismatching scan tables Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/indeo4.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c index a3e2456ad0..488f97120a 100644 --- a/libavcodec/indeo4.c +++ b/libavcodec/indeo4.c @@ -393,6 +393,10 @@ static int decode_band_hdr(IVI4DecContext *ctx, IVIBandDesc *band, band->is_2d_trans = transforms[transform_id].is_2d_trans; scan_indx = get_bits(&ctx->gb, 4); + if ((scan_indx>4 && scan_indx<10) != (band->blk_size==4)) { + av_log(avctx, AV_LOG_ERROR, "mismatching scan table!\n"); + return AVERROR_INVALIDDATA; + } if (scan_indx == 15) { av_log(avctx, AV_LOG_ERROR, "Custom scan pattern encountered!\n"); return AVERROR_INVALIDDATA;