ftp: fix ftp_do_more returning with *completep unset

Specifically, when ftpc->wait_data_conn was true and
Curl_conn_connect(...) returned with serv_conned == false the code
called ftp_check_ctrl_on_data_wait and returned without setting
*completep.

Now set it to 0 at function start to avoid this happening again.

Reported in Joshua's sarif data

Closes #18650
This commit is contained in:
Daniel Stenberg 2025-09-20 23:23:07 +02:00
parent 3b22ed999e
commit a9baf82a9b
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -3594,6 +3594,9 @@ static CURLcode ftp_do_more(struct Curl_easy *data, int *completep)
if(!ftpc || !ftp)
return CURLE_FAILED_INIT;
*completep = 0; /* default to stay in the state */
/* if the second connection has been set up, try to connect it fully
* to the remote host. This may not complete at this time, for several
* reasons:
@ -3612,7 +3615,6 @@ static CURLcode ftp_do_more(struct Curl_easy *data, int *completep)
/* this is a EPSV connect failing, try PASV instead */
return ftp_epsv_disable(data, ftpc, conn);
}
*completep = (int)complete;
return result;
}
}