[vlc-commits] ftp: fix leak
Rémi Denis-Courmont
git at videolan.org
Fri Nov 14 18:21:15 CET 2014
vlc/vlc-2.2 | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri Nov 14 19:20:53 2014 +0200| [13d9684ad44d519b3eb73c32d60a77f5a5a8773e] | committer: Rémi Denis-Courmont
ftp: fix leak
(cherry picked from commit f03324bb7ef555420b6b106a40ca833777072b26)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=13d9684ad44d519b3eb73c32d60a77f5a5a8773e
---
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 90b2452..ce3cc79 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -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 )
{
More information about the vlc-commits
mailing list