asyn-thrdd: release rrname if ares_init_options fails

Closes #19410
This commit is contained in:
x2018 2025-11-09 00:37:16 +08:00 committed by Daniel Stenberg
parent 59584399a5
commit 1bddfe02d5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -376,14 +376,17 @@ static CURLcode async_rr_start(struct Curl_easy *data, int port)
status = ares_init_options(&thrdd->rr.channel, NULL, 0);
if(status != ARES_SUCCESS) {
thrdd->rr.channel = NULL;
free(rrname);
return CURLE_FAILED_INIT;
}
#ifdef CURLDEBUG
if(getenv("CURL_DNS_SERVER")) {
const char *servers = getenv("CURL_DNS_SERVER");
status = ares_set_servers_ports_csv(thrdd->rr.channel, servers);
if(status)
if(status) {
free(rrname);
return CURLE_FAILED_INIT;
}
}
#endif