diff --git a/lib/hostares.c b/lib/hostares.c index 48d62115e6c2df5aefbce7f0a67e3fc171d74d24..a54e25eda552301a2e040c4f2a17c0324f113ca5 100644 --- a/lib/hostares.c +++ b/lib/hostares.c @@ -249,7 +249,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, /* close the connection, since we can't return failure here without cleaning up this connection properly */ - Curl_disconnect(conn); + conn->bits.close = TRUE; } return rc; diff --git a/lib/transfer.c b/lib/transfer.c index bf67842a1732ad3e4b4572088e749ece18a5415d..ea7c5dbe34df87f3844414175419c3d2f899eaaf 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -2038,6 +2038,8 @@ Curl_connect_host(struct SessionHandle *data, if(CURLE_OK == res) /* Resolved, continue with the connection */ res = Curl_async_resolved(*conn); + else + (void)Curl_disconnect(*conn); } if(res) break;