From acf1d2acd17b194966be41e848ffd48b02ecef0c Mon Sep 17 00:00:00 2001 From: Zenju Date: Wed, 11 Sep 2019 20:04:28 +0200 Subject: FTP: skip CWD to entry dir when target is absolute Closes #4332 --- lib/ftp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/ftp.c') diff --git a/lib/ftp.c b/lib/ftp.c index e807a2acd..0793dc1f3 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -877,7 +877,9 @@ static CURLcode ftp_state_cwd(struct connectdata *conn) if((conn->data->set.ftp_filemethod == FTPFILE_NOCWD) && !ftpc->cwdcount) /* No CWD necessary */ result = ftp_state_mdtm(conn); - else if(conn->bits.reuse && ftpc->entrypath) { + else if(conn->bits.reuse && ftpc->entrypath && + /* no need to go to entrypath when we have an absolute path */ + !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')) { /* This is a re-used connection. Since we change directory to where the transfer is taking place, we must first get back to the original dir where we ended up after login: */ -- cgit v1.2.3