curl_multi_remove_handle: fix memory leak triggered with CURLOPT_RESOLVE
authorYang Tse <yangsita@gmail.com>
Tue, 25 Dec 2012 12:31:26 +0000 (13:31 +0100)
committerYang Tse <yangsita@gmail.com>
Tue, 25 Dec 2012 12:34:45 +0000 (13:34 +0100)
lib/multi.c

index 52eeb7f..6834e68 100644 (file)
@@ -649,6 +649,10 @@ CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
     }
 
     if(easy->easy_handle->dns.hostcachetype == HCACHE_MULTI) {
+      if(multi->num_easy == 1) {
+        Curl_hostcache_destroy(easy->easy_handle);
+        multi->hostcache = NULL;
+      }
       /* clear out the usage of the shared DNS cache */
       easy->easy_handle->dns.hostcache = NULL;
       easy->easy_handle->dns.hostcachetype = HCACHE_NONE;