From a417d041f03d725b0e159136e063538f0cee786a Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Mon, 8 Oct 2007 12:11:19 +0000 Subject: 10l, check 'i' validity before using it Originally committed as revision 10684 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/dnxhddec.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c index 3452d49629..8ea40d1e35 100644 --- a/libavcodec/dnxhddec.c +++ b/libavcodec/dnxhddec.c @@ -189,6 +189,11 @@ static void dnxhd_decode_dct_block(DNXHDContext *ctx, DCTELEM *block, int n, int i += ctx->cid_table->run[index2]; } + if (i > 63) { + av_log(ctx->avctx, AV_LOG_ERROR, "ac tex damaged %d, %d\n", n, i); + return; + } + j = ctx->scantable.permutated[i]; //av_log(ctx->avctx, AV_LOG_DEBUG, "j %d\n", j); //av_log(ctx->avctx, AV_LOG_DEBUG, "level %d, weigth %d\n", level, weigth_matrix[i]); @@ -197,12 +202,6 @@ static void dnxhd_decode_dct_block(DNXHDContext *ctx, DCTELEM *block, int n, int level += 32; level >>= 6; level = (level^sign) - sign; - - if (i > 63) { - av_log(ctx->avctx, AV_LOG_ERROR, "ac tex damaged %d, %d\n", n, i); - return; - } - //av_log(NULL, AV_LOG_DEBUG, "i %d, j %d, end level %d\n", i, j, level); block[j] = level; } -- cgit v1.2.3