[vlc-devel] commit: Fix memory leak in mosaic bridge ( Rafaël Carré )

git version control git at videolan.org
Wed May 14 16:51:12 CEST 2008


vlc | branch: master | Rafaël Carré <funman at videolan.org> | Wed May 14 16:51:26 2008 +0200| [82e52ea89110535cad86fac7ab77e17bc7101100]

Fix memory leak in mosaic bridge

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=82e52ea89110535cad86fac7ab77e17bc7101100
---

 modules/stream_out/mosaic_bridge.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c
index 2f3d272..4a7255f 100644
--- a/modules/stream_out/mosaic_bridge.c
+++ b/modules/stream_out/mosaic_bridge.c
@@ -483,13 +483,14 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
 
     if ( p_sys->p_decoder != NULL )
     {
-        picture_t **pp_ring = p_sys->p_decoder->p_owner->pp_pics;
+        decoder_owner_sys_t *p_owner = p_sys->p_decoder->p_owner;
 
         if( p_sys->p_decoder->p_module )
             module_Unneed( p_sys->p_decoder, p_sys->p_decoder->p_module );
         vlc_object_detach( p_sys->p_decoder );
         vlc_object_release( p_sys->p_decoder );
 
+        picture_t **pp_ring = p_owner->pp_pics;
         for( i = 0; i < PICTURE_RING_SIZE; i++ )
         {
             if ( pp_ring[i] != NULL )
@@ -499,6 +500,7 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
                 free( pp_ring[i] );
             }
         }
+        free( p_owner );
     }
 
     /* Destroy user specified video filters */




More information about the vlc-devel mailing list