[vlc-devel] commit: Access dvdread: use setenv instead of putenv to fix a memleak. ( Rémi Duraffort )

git version control git at videolan.org
Thu Jul 31 17:51:18 CEST 2008


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Thu Jul 31 17:53:11 2008 +0200| [10fcb9f9c3c73d13340c0bd4153fc4c9c87b7186]

Access dvdread: use setenv instead of putenv to fix a memleak.

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

 modules/access/dvdread.c |   19 ++-----------------
 1 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c
index 43b0ee4..2563852 100644
--- a/modules/access/dvdread.c
+++ b/modules/access/dvdread.c
@@ -222,25 +222,10 @@ static int Open( vlc_object_t *p_this )
         psz_name[2] == '\\' && psz_name[3] == '\0' ) psz_name[2] = '\0';
 #endif
 
-    /* Override environment variable DVDCSS_METHOD with config option
-     * (FIXME: this creates a small memory leak) */
+    /* Override environment variable DVDCSS_METHOD with config option */
     psz_dvdcss_env = config_GetPsz( p_demux, "dvdread-css-method" );
     if( psz_dvdcss_env && *psz_dvdcss_env )
-    {
-        char *psz_env;
-
-        psz_env = malloc( strlen("DVDCSS_METHOD=") +
-                          strlen( psz_dvdcss_env ) + 1 );
-        if( !psz_env )
-        {
-            free( psz_dvdcss_env );
-            return VLC_ENOMEM;
-        }
-
-        sprintf( psz_env, "%s%s", "DVDCSS_METHOD=", psz_dvdcss_env );
-
-        putenv( psz_env );
-    }
+        setenv( "DVDCSS_METHOD", psz_dvdcss_env, 1 );
     free( psz_dvdcss_env );
 
     /* Open dvdread */




More information about the vlc-devel mailing list