vlc | branch: master | Rémi Denis-Courmont <r...@remlab.net> | Fri Nov 14 19:20:53 2014 +0200| [f03324bb7ef555420b6b106a40ca833777072b26] | committer: Rémi Denis-Courmont
ftp: fix leak > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f03324bb7ef555420b6b106a40ca833777072b26 --- modules/access/ftp.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/modules/access/ftp.c b/modules/access/ftp.c index aa42a31..5224e7e 100644 --- a/modules/access/ftp.c +++ b/modules/access/ftp.c @@ -310,7 +310,6 @@ static void clearCmdTLS( access_sys_t *p_sys ) static int Login( vlc_object_t *p_access, access_sys_t *p_sys ) { int i_answer; - char *psz; /* *** Open a TCP connection with server *** */ int fd = p_sys->cmd.fd = net_ConnectTCP( p_access, p_sys->url.psz_host, @@ -341,13 +340,6 @@ static int Login( vlc_object_t *p_access, access_sys_t *p_sys ) msg_Dbg( p_access, "connection accepted (%d)", i_answer ); - if( p_sys->url.psz_username && *p_sys->url.psz_username ) - psz = strdup( p_sys->url.psz_username ); - else - psz = var_InheritString( p_access, "ftp-user" ); - if( !psz ) - return -1; - /* Features check first */ if( ftp_SendCommand( p_access, p_sys, "FEAT" ) < 0 || ftp_RecvAnswer( p_access, p_sys, NULL, NULL, @@ -388,7 +380,6 @@ static int Login( vlc_object_t *p_access, access_sys_t *p_sys ) i_answer != 200 ) { msg_Err( p_access, "Can't truncate Protection buffer size for TLS" ); - free( psz ); goto error; } @@ -397,12 +388,20 @@ static int Login( vlc_object_t *p_access, access_sys_t *p_sys ) i_answer != 200 ) { msg_Err( p_access, "Can't set Data channel protection" ); - free( psz ); goto error; } } /* Send credentials over channel */ + char *psz; + + if( p_sys->url.psz_username && *p_sys->url.psz_username ) + psz = strdup( p_sys->url.psz_username ); + else + psz = var_InheritString( p_access, "ftp-user" ); + if( !psz ) + goto error; + if( ftp_SendCommand( p_access, p_sys, "USER %s", psz ) < 0 || ftp_RecvCommand( p_access, p_sys, &i_answer, NULL ) < 0 ) { _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits