]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
asyn-thrdd: fix cleanup when RR fails due to OOM
authorDaniel Stenberg <daniel@haxx.se>
Mon, 2 Jun 2025 06:47:03 +0000 (08:47 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 2 Jun 2025 07:08:04 +0000 (09:08 +0200)
Fixes #17507
Closes #17514

lib/asyn-thrdd.c

index b71bd133da760fb916acd76c8dd7f2ffa4d30979..9cd25dcd209cb548925924378c6453d0fbb65357 100644 (file)
@@ -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)