Commit graph

1 commit

Author SHA1 Message Date
Stefan Eissing
66d35ee5d4 lib: avoid reusing unclean connection
When `curl_easy_cleanup()` is invoked while still being part
of a multi handle, the code will auto-remove it. But since the
connection was detached first, the code in
`curl_multi_remove_handle()` that invalidates dirty connections
did not bite.

Attach the connection *after* the possible remove from a multi
handle, so that connection reuse can be prevented.

Add test753 to reproduce and verify the fix. This required adding
the new debug env var CURL_FTP_PWD_STOP, to have a transfer return
from multi_perform() early with a connection that does not show
and pending input.

Reported-by: Brian Harris

Fixes https://github.com/curl/curl/issues/17578
Closes https://github.com/curl/curl/pull/17607
2025-06-15 03:22:25 -04:00