diff options
author | Benjamin Otte <otte@gnome.org> | 2009-08-11 03:31:26 +0200 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2009-08-19 11:08:02 +0200 |
commit | 3d781138af38b84841c1a59a5c959ac3a412686c (patch) | |
tree | bcdaad99bed21ae2bb4299353d3585c29c4fb78e /daemon | |
parent | 42bab3f1fe676ad2b089c321ac0a06e16d0feb15 (diff) | |
download | gvfs-3d781138af38b84841c1a59a5c959ac3a412686c.tar.gz |
[FTP] plug memleak in login code
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gvfsbackendftp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/daemon/gvfsbackendftp.c b/daemon/gvfsbackendftp.c index 9bba8e3a..20318a6d 100644 --- a/daemon/gvfsbackendftp.c +++ b/daemon/gvfsbackendftp.c @@ -371,24 +371,24 @@ try_login: g_free (ftp->password); if (anonymous) { - ftp->user = g_strdup ("anonymous"); - ftp->password = g_strdup (""); + g_free (username); + g_free (password); + ftp->user = g_strdup ("anonymous"); + ftp->password = g_strdup (""); if (g_vfs_ftp_task_login (&task, "anonymous", "") != 0) - { - break; - } + break; + g_free (ftp->user); + g_free (ftp->password); ftp->user = NULL; ftp->password = NULL; } else { - ftp->user = username ? g_strdup (username) : g_strdup (""); - ftp->password = g_strdup (password); + ftp->user = username ? username : g_strdup (""); + ftp->password = password; if (g_vfs_ftp_task_login (&task, ftp->user, ftp->password) != 0) break; } - g_free (username); - g_free (password); if (break_on_fail || !g_error_matches (task.error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED)) |