Commit 13d9684a authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

ftp: fix leak

(cherry picked from commit f03324bb7ef555420b6b106a40ca833777072b26)
parent 24cb4c71
......@@ -309,7 +309,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,
......@@ -340,13 +339,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,
......@@ -387,7 +379,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;
}
......@@ -396,12 +387,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 )
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment