From e5e20a5ee2d4041c3413b2efa234a79aaa65a9ba Mon Sep 17 00:00:00 2001 From: Romain Vimont <rom1v@videolabs.io> Date: Tue, 23 Nov 2021 14:36:06 +0100 Subject: [PATCH] mtp: remove remaining items on close Do not leak the remaining items. --- modules/services_discovery/mtp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/services_discovery/mtp.c b/modules/services_discovery/mtp.c index f04dbd2794e0..0bf15c54f5c3 100644 --- a/modules/services_discovery/mtp.c +++ b/modules/services_discovery/mtp.c @@ -190,6 +190,7 @@ static void CloseDevice( services_discovery_t *p_sd ) } } free( pp_items ); + p_sys->pp_items = NULL; } } @@ -273,6 +274,15 @@ static void Close( vlc_object_t *p_this ) free( p_sys->psz_name ); vlc_cancel( p_sys->thread ); vlc_join( p_sys->thread, NULL ); + + if ( p_sys->pp_items != NULL ) + { + for( int i_i = 0; i_i < p_sys->i_count; i_i++ ) + if( p_sys->pp_items[i_i] != NULL ) + input_item_Release( p_sys->pp_items[i_i] ); + free( p_sys->pp_items ); + } + free( p_sys ); } -- GitLab