diff --git a/lib/connect.c b/lib/connect.c index 8ff3dd16f82a826c6ce2af5222ebf48c4246b86d..ef891d713d8b27fafe6cb426e103fc96e60c2657 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -206,6 +206,8 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* get a new timeout for next attempt */ after = Curl_tvnow(); timeout_ms -= (long)(Curl_tvdiff(after, before)*1000); + if(timeout_ms < 0) + break; before = after; continue; } @@ -285,6 +287,8 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* get a new timeout for next attempt */ after = Curl_tvnow(); timeout_ms -= (long)(Curl_tvdiff(after, before)*1000); + if(timeout_ms < 0) + break; before = after; continue; /* try next address */ }