From: Daniel Stenberg Date: Fri, 27 Oct 2023 22:22:49 +0000 (+0200) Subject: asyn-ares: handle no connection in the addrinfo callback X-Git-Tag: curl-8_5_0~183 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91188c64807dc4ab47b117349f638c03746186b7;p=thirdparty%2Fcurl.git asyn-ares: handle no connection in the addrinfo callback To avoid crashing. Follow-up from 56a4db2 Closes #12219 --- diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c index 1da1901278..764eadbfcf 100644 --- a/lib/asyn-ares.c +++ b/lib/asyn-ares.c @@ -729,14 +729,16 @@ static void addrinfo_cb(void *arg, int status, int timeouts, struct ares_addrinfo *result) { struct Curl_easy *data = (struct Curl_easy *)arg; - struct thread_data *res = data->conn->resolve_async.tdata; - (void)timeouts; - if(ARES_SUCCESS == status) { - res->temp_ai = ares2addr(result->nodes); - res->last_status = CURL_ASYNC_SUCCESS; - ares_freeaddrinfo(result); + if(data->conn) { + struct thread_data *res = data->conn->resolve_async.tdata; + (void)timeouts; + if(ARES_SUCCESS == status) { + res->temp_ai = ares2addr(result->nodes); + res->last_status = CURL_ASYNC_SUCCESS; + ares_freeaddrinfo(result); + } + res->num_pending--; } - res->num_pending--; } #endif