e2abed75ec
This reverts commit ec4f56b3473a07cbaf7194d8ea374c4514499f73. With the added patch, the curl segfault seems to be fixed.
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
commit 249c981407b8c52edf2b0833a78cd3d3d8bd2823
|
|
Author: Shea Levy <shea@shealevy.com>
|
|
Date: Sun Feb 10 13:27:10 2013 -0500
|
|
|
|
curl_multi_cleanup: Don't try to cleanup the closure_handle if it is NULL.
|
|
|
|
Without this, curl_multi_cleanup(curl_multi_init()) segfaults.
|
|
|
|
Signed-off-by: Shea Levy <shea@shealevy.com>
|
|
|
|
diff --git a/lib/multi.c b/lib/multi.c
|
|
index fa0afb9..5b9d0bb 100644
|
|
--- a/lib/multi.c
|
|
+++ b/lib/multi.c
|
|
@@ -1773,11 +1773,13 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle)
|
|
/* Close all the connections in the connection cache */
|
|
close_all_connections(multi);
|
|
|
|
- multi->closure_handle->dns.hostcache = multi->hostcache;
|
|
- Curl_hostcache_clean(multi->closure_handle);
|
|
+ if (multi->closure_handle) {
|
|
+ multi->closure_handle->dns.hostcache = multi->hostcache;
|
|
+ Curl_hostcache_clean(multi->closure_handle);
|
|
|
|
- Curl_close(multi->closure_handle);
|
|
- multi->closure_handle = NULL;
|
|
+ Curl_close(multi->closure_handle);
|
|
+ multi->closure_handle = NULL;
|
|
+ }
|
|
|
|
Curl_hash_destroy(multi->sockhash);
|
|
multi->sockhash = NULL;
|