]> git.sesse.net Git - vlc/commitdiff
* Free scandir results when we are done with them. Issue pointed out by jmvallat_vlc...
authorDerk-Jan Hartman <hartman@videolan.org>
Wed, 14 Dec 2005 22:26:55 +0000 (22:26 +0000)
committerDerk-Jan Hartman <hartman@videolan.org>
Wed, 14 Dec 2005 22:26:55 +0000 (22:26 +0000)
modules/access/directory.c
modules/control/http/mvar.c
src/input/subtitles.c

index ac6debe37171c919bca0fc9e264c7aa40dea7bd7..642b38b451e86c0cbaa8b63f7c866613e91f0a53 100644 (file)
@@ -574,6 +574,8 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
     if( ppsz_extensions ) free( ppsz_extensions );
     if( psz_ignore ) free( psz_ignore );
 
-    free( pp_dir_content );
+    for( i = 0; i < i_dir_content; i++ )
+        if( pp_dir_content[i] ) free( pp_dir_content[i] );
+    if( pp_dir_content ) free( pp_dir_content );
     return VLC_SUCCESS;
 }
index fa04e6da57706a38d02fd78e55356fa8d24224a7..ff771b2fb552ea9c2128e4cbc79cda49e7f1e056 100644 (file)
@@ -2,7 +2,7 @@
  * mvar.c : Variables handling for the HTTP Interface
  *****************************************************************************
  * Copyright (C) 2001-2005 the VideoLAN team
- * $Id: http.c 12225 2005-08-18 10:01:30Z massiot $
+ * $Id$
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *          Laurent Aimar <fenrir@via.ecp.fr>
@@ -632,6 +632,9 @@ mvar_t *E_(mvar_FileSetNew)( intf_thread_t *p_intf, char *name,
     }
 
     free( psz_dir );
+    for( i = 0; i < i_dir_content; i++ )
+        if( pp_dir_content[i] ) free( pp_dir_content[i] );
+    if( pp_dir_content) free( pp_dir_content );
     return s;
 }
 
index 012c988b5b9de7516cc1d1b64e6984ee37d4098c..d90ed53f39b79548c0966b52df1a3dfa770cecc8 100644 (file)
@@ -411,6 +411,10 @@ char **subtitles_Detect( input_thread_t *p_this, char *psz_path,
                 }
                 if( i_sub_count >= MAX_SUBTITLE_FILES ) break;
                 free( p_fixed_name );
+
+                for( a = 0; a < i_dir_content; a++ )
+                    if( pp_dir_content[a] ) free( pp_dir_content[a] );
+                if( pp_dir_content ) free( pp_dir_content );
             }
         }
         if( j >= 0 ) free( *subdirs++ );