From: Michael Niedermayer Date: Sat, 31 Mar 2012 19:42:50 +0000 (+0200) Subject: indeo4: check that num_mbs matches X-Git-Tag: android-x86-4.4-r1~12651 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d3db8988d5befd8702a748cf1957415677bfe75c;p=android-x86%2Fexternal-ffmpeg.git indeo4: check that num_mbs matches Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c index 9b013e8321..3dd58dc93b 100644 --- a/libavcodec/indeo4.c +++ b/libavcodec/indeo4.c @@ -490,6 +490,11 @@ static int decode_mb_info(IVI4DecContext *ctx, IVIBandDesc *band, mv_scale = (ctx->planes[0].bands[0].mb_size >> 3) - (band->mb_size >> 3); mv_x = mv_y = 0; + if (((tile->width + band->mb_size-1)/band->mb_size) * ((tile->height + band->mb_size-1)/band->mb_size) != tile->num_MBs) { + av_log(avctx, AV_LOG_ERROR, "num_MBs mismatch %d %d %d %d\n", tile->width, tile->height, band->mb_size, tile->num_MBs); + return -1; + } + for (y = tile->ypos; y < tile->ypos + tile->height; y += band->mb_size) { mb_offset = offs;