[SCM] libav/experimental: Make sure spatial_decomposition_count is not too large for picture size. this led to an infinite loop in mirror().

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:43:35 UTC 2013


The following commit has been merged in the experimental branch:
commit eebbb33abfe82bb3b044ff1f1cb0b263bde9402b
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Thu Apr 9 20:23:13 2009 +0000

    Make sure spatial_decomposition_count is not too large for picture size.
    this led to an infinite loop in mirror().
    
    Originally committed as revision 18396 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index ffdf1ff..ee0ae33 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -3625,6 +3625,11 @@ static int decode_header(SnowContext *s){
         av_log(s->avctx, AV_LOG_ERROR, "spatial_decomposition_type %d not supported", s->spatial_decomposition_type);
         return -1;
     }
+    if(FFMIN(s->avctx-> width>>s->chroma_h_shift,
+             s->avctx->height>>s->chroma_v_shift) >> (s->spatial_decomposition_count-1) <= 0){
+        av_log(s->avctx, AV_LOG_ERROR, "spatial_decomposition_count %d too large for size", s->spatial_decomposition_count);
+        return -1;
+    }
 
     s->qlog           += get_symbol(&s->c, s->header_state, 1);
     s->mv_scale       += get_symbol(&s->c, s->header_state, 1);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list