]> git.sesse.net Git - vlc/commitdiff
Fixed memleaks in ps demuxer (close #3141).
authorLaurent Aimar <fenrir@videolan.org>
Sat, 30 Jan 2010 20:27:22 +0000 (21:27 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 30 Jan 2010 23:50:28 +0000 (00:50 +0100)
modules/demux/ps.h

index 457276e29b243235847a932e935bec55bbd21944..ae778d6914c26e15352cedea03a71a271a4a33a7 100644 (file)
@@ -674,9 +674,15 @@ static inline int ps_psm_fill( ps_psm_t *p_psm, block_t *p_pkt,
         if( ps_track_fill( &tk_tmp, p_psm, tk[i].i_id ) != VLC_SUCCESS )
             continue;
 
-        if( tk_tmp.fmt.i_codec == tk[i].fmt.i_codec ) continue;
+        if( tk_tmp.fmt.i_codec == tk[i].fmt.i_codec )
+        {
+            es_format_Clean( &tk_tmp.fmt );
+            continue;
+        }
 
         es_out_Del( out, tk[i].es );
+        es_format_Clean( &tk[i].fmt );
+
         tk[i] = tk_tmp;
         tk[i].b_seen = true;
         tk[i].es = es_out_Add( out, &tk[i].fmt );