From 43cde503eb5dbdee466fd41ed5cbe197315b8953 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Fri, 6 Mar 2009 22:41:46 +0200 Subject: [PATCH] Fix massive leak when --vout-filter or --vout module_Need fails --- src/video_output/video_output.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 506a56ec77..f4143f550e 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -487,6 +487,9 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt ) if( p_vout->p_module == NULL ) { msg_Err( p_vout, "no suitable vout module" ); + spu_Attach( p_vout->p_spu, p_vout, false ); + spu_Destroy( p_vout->p_spu ); + p_vout->p_spu = NULL; vlc_object_release( p_vout ); return NULL; } @@ -583,7 +586,8 @@ static void vout_Destructor( vlc_object_t * p_this ) assert( !p_vout->p_module ); /* */ - spu_Destroy( p_vout->p_spu ); + if( p_vout->p_spu ) + spu_Destroy( p_vout->p_spu ); /* Destroy the locks */ vlc_cond_destroy( &p_vout->p->change_wait ); -- 2.39.2