mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
hostip: fix crash in sync resolver builds that use DOH
- Guard some Curl_async accesses with USE_CURL_ASYNC instead of !CURLRES_SYNCH. This is another follow-up to8335c64
which moved the async struct from the connectdata struct into the Curl_easy struct. A previous follow-up6cd167a
fixed building for sync resolver by guarding some async struct accesses with !CURLRES_SYNCH. The problem is since DOH (DNS-over-HTTPS) is available as an asynchronous secondary resolver the async struct may be used even when libcurl is built for the sync resolver. That means that CURLRES_SYNCH and USE_CURL_ASYNC may be defined at the same time. Closes https://github.com/curl/curl/pull/6603
This commit is contained in:
parent
835c263421
commit
b68026f7f4
@ -521,10 +521,10 @@ enum resolve_t Curl_resolv(struct Curl_easy *data,
|
||||
int st;
|
||||
Curl_set_in_callback(data, true);
|
||||
st = data->set.resolver_start(
|
||||
#ifdef CURLRES_SYNCH
|
||||
NULL,
|
||||
#else
|
||||
#ifdef USE_CURL_ASYNC
|
||||
data->state.async.resolver,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
NULL,
|
||||
data->set.resolver_start_client);
|
||||
@ -1108,7 +1108,7 @@ CURLcode Curl_once_resolved(struct Curl_easy *data, bool *protocol_done)
|
||||
CURLcode result;
|
||||
struct connectdata *conn = data->conn;
|
||||
|
||||
#ifndef CURLRES_SYNCH
|
||||
#ifdef USE_CURL_ASYNC
|
||||
if(data->state.async.dns) {
|
||||
conn->dns_entry = data->state.async.dns;
|
||||
data->state.async.dns = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user