[SCM] libav/experimental: 10l, check 'i' validity before using it

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:07:58 UTC 2013


The following commit has been merged in the experimental branch:
commit a417d041f03d725b0e159136e063538f0cee786a
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Mon Oct 8 12:11:19 2007 +0000

    10l, check 'i' validity before using it
    
    Originally committed as revision 10684 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 3452d49..8ea40d1 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;
     }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list