From: Daniel Stenberg Date: Mon, 6 Mar 2017 08:21:01 +0000 (+0100) Subject: ares: return error at once if timed out before name resolve starts X-Git-Tag: accepted/tizen/common/20170309.175136^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fcurl.git;a=commitdiff_plain;h=513f78ae55574f474ba07576c0cb0237f6b8b0c2 ares: return error at once if timed out before name resolve starts Pointed-out-by: Ray Satiro Bug: https://curl.haxx.se/mail/lib-2017-03/0004.html Change-Id: I7c38e9dc6f386001692fa3b02f5bba00b59f4f45 Signed-off-by: Saurav Babu --- diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c index 2aed94f..bc288f5 100644 --- a/lib/asyn-ares.c +++ b/lib/asyn-ares.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -359,6 +359,11 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn, struct Curl_dns_entry *temp_entry; timeout = Curl_timeleft(data, &now, TRUE); + if(timeout < 0) { + /* already expired! */ + connclose(conn, "Timed out before name resolve started"); + return CURLE_OPERATION_TIMEDOUT; + } if(!timeout) timeout = CURL_TIMEOUT_RESOLVE * 1000; /* default name resolve timeout */