]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Fix for memleak in dv.c patch by (Burkhard Plaum; plaum, ipf uni-stuttgart de)
authormichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 26 Aug 2005 15:41:28 +0000 (15:41 +0000)
committermichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 26 Aug 2005 15:41:28 +0000 (15:41 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@4539 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/dv.c

index d2739d33b76cb5b826b1835e00737e2ab9397bbb..1cfdae65b2b8ea72232dba7385f6cea3e8a1ad31 100644 (file)
@@ -109,14 +109,13 @@ static int dvvideo_init(AVCodecContext *avctx)
 
         done = 1;
 
-        dv_vlc_map = av_mallocz(DV_VLC_MAP_LEV_SIZE*DV_VLC_MAP_RUN_SIZE*sizeof(struct dv_vlc_pair));
+        dv_vlc_map = av_mallocz_static(DV_VLC_MAP_LEV_SIZE*DV_VLC_MAP_RUN_SIZE*sizeof(struct dv_vlc_pair));
        if (!dv_vlc_map)
            return -ENOMEM;
 
        /* dv_anchor lets each thread know its Id */
        dv_anchor = av_malloc(12*27*sizeof(void*));
        if (!dv_anchor) {
-           av_free(dv_vlc_map);
            return -ENOMEM;
        }
        for (i=0; i<12*27; i++)
@@ -149,7 +148,6 @@ static int dvvideo_init(AVCodecContext *avctx)
         dv_rl_vlc = av_malloc(dv_vlc.table_size * sizeof(RL_VLC_ELEM));
        if (!dv_rl_vlc) {
            av_free(dv_anchor);
-           av_free(dv_vlc_map);
            return -ENOMEM;
        }
         for(i = 0; i < dv_vlc.table_size; i++){