]> git.sesse.net Git - vlc/blobdiff - src/misc/events.c
misc/events.c: Make sure we don't leak.
[vlc] / src / misc / events.c
index 50a511041caa1da5f435697deed1fbdb2a4f4c76..fc788dd2c1a98192055a58832e89262e93195110 100644 (file)
@@ -211,10 +211,13 @@ void vlc_event_send( vlc_event_manager_t * p_em,
     /* Call the function attached */
     cached_listener = array_of_cached_listeners;
 
-    if( !listeners_group )
+    if( !listeners_group || !array_of_cached_listeners )
+    {
+        free( array_of_cached_listeners );
         return;
+    }
 
-    vlc_mutex_lock( &p_em->event_sending_lock );
+    vlc_mutex_lock( &p_em->event_sending_lock ) ;
 
     /* Track item removed from *this* thread, with a simple flag */
     listeners_group->b_sublistener_removed = VLC_FALSE;