From: Daniel Stenberg Date: Mon, 2 Jun 2025 06:47:03 +0000 (+0200) Subject: asyn-thrdd: fix cleanup when RR fails due to OOM X-Git-Tag: curl-8_14_1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f73809389648ee431f023de5501b9a16660513fc;p=thirdparty%2Fcurl.git asyn-thrdd: fix cleanup when RR fails due to OOM Fixes #17507 Closes #17514 --- diff --git a/lib/asyn-thrdd.c b/lib/asyn-thrdd.c index b71bd133da..9cd25dcd20 100644 --- a/lib/asyn-thrdd.c +++ b/lib/asyn-thrdd.c @@ -595,16 +595,15 @@ CURLcode Curl_async_is_resolved(struct Curl_easy *data, if(!result) { struct Curl_https_rrinfo *lhrr; lhrr = Curl_httpsrr_dup_move(&thrdd->rr.hinfo); - if(!lhrr) { - async_thrdd_destroy(data); - return CURLE_OUT_OF_MEMORY; - } - data->state.async.dns->hinfo = lhrr; + if(!lhrr) + result = CURLE_OUT_OF_MEMORY; + else + data->state.async.dns->hinfo = lhrr; } } #endif - if(!result && data->state.async.dns) - result = Curl_dnscache_add(data, data->state.async.dns); + if(!result && data->state.async.dns) + result = Curl_dnscache_add(data, data->state.async.dns); } if(!result && !data->state.async.dns)