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)