]> git.sesse.net Git - vlc/blobdiff - modules/access_output/http.c
Don't leak every https parameters.
[vlc] / modules / access_output / http.c
index cdf7bf41b4b7e7ee9fbd3cd117072df51923aac5..fff220d4a19b88b343063083dcf9bf48fc4cd0a9 100644 (file)
@@ -165,7 +165,7 @@ static int Open( vlc_object_t *p_this )
     char                *psz_user = NULL;
     char                *psz_pwd = NULL;
     char                *psz_mime = NULL;
-    const char          *psz_cert = NULL, *psz_key = NULL, *psz_ca = NULL,
+    char                *psz_cert = NULL, *psz_key = NULL, *psz_ca = NULL,
                         *psz_crl = NULL;
     vlc_value_t         val;
 
@@ -241,6 +241,11 @@ static int Open( vlc_object_t *p_this )
                                             psz_bind_addr, i_bind_port,
                                             psz_cert, psz_key, psz_ca,
                                             psz_crl );
+    free( psz_cert );
+    free( psz_key );
+    free( psz_ca );
+    free( psz_crl );
+
     if( p_sys->p_httpd_host == NULL )
     {
         msg_Err( p_access, "cannot listen on %s:%d",
@@ -309,7 +314,7 @@ static int Open( vlc_object_t *p_this )
         if( psz_file_name &&
             asprintf( &psz_txt, "path=%s", psz_file_name ) == -1 )
             {
-                pl_Release( p_playlist );
+                pl_Release( p_access );
                 free( psz_uri );
                 return VLC_ENOMEM;
             }
@@ -323,7 +328,7 @@ static int Open( vlc_object_t *p_this )
 
         if( p_sys->p_bonjour == NULL )
             msg_Err( p_access, "unable to start requested Bonjour announce" );
-        pl_Release( p_playlist );
+        pl_Release( p_access );
     }
     else
         p_sys->p_bonjour = NULL;