]> granicus.if.org Git - curl/commitdiff
global dns cache: fix memory leak
authorDaniel Stenberg <daniel@haxx.se>
Thu, 8 Aug 2013 14:26:10 +0000 (16:26 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 8 Aug 2013 14:28:46 +0000 (16:28 +0200)
The take down of the global dns cache didn't take CURLOPT_RESOLVE names
into account.

lib/hostip.c

index c137a19c3be757ccfe35e2de886a84af75ea528f..f37b4925bb3990363a3c8ec0903797aa31ff79fe 100644 (file)
@@ -140,6 +140,10 @@ struct curl_hash *Curl_global_host_cache_init(void)
 void Curl_global_host_cache_dtor(void)
 {
   if(host_cache_initialized) {
+    /* first make sure that any custom "CURLOPT_RESOLVE" names are
+       cleared off */
+    Curl_hostcache_clean(NULL, &hostname_cache);
+    /* then free the remaining hash completely */
     Curl_hash_clean(&hostname_cache);
     host_cache_initialized = 0;
   }