OSDN Git Service

avcodec/snow: Free all planes and bands independent of the last count
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 02:21:12 +0000 (03:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 02:22:20 +0000 (03:22 +0100)
Fixes memleak
Fixes: signal_sigsegv_24169e6_3445_cov_3778346427_snow_chroma_bug.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/snow.c

index c4f7004..07ad854 100644 (file)
@@ -718,8 +718,8 @@ av_cold void ff_snow_common_end(SnowContext *s)
         av_frame_free(&s->last_picture[i]);
     }
 
-    for(plane_index=0; plane_index < s->nb_planes; plane_index++){
-        for(level=s->spatial_decomposition_count-1; level>=0; level--){
+    for(plane_index=0; plane_index < MAX_PLANES; plane_index++){
+        for(level=MAX_DECOMPOSITIONS-1; level>=0; level--){
             for(orientation=level ? 1 : 0; orientation<4; orientation++){
                 SubBand *b= &s->plane[plane_index].band[level][orientation];