nixpkgs/pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch
Shea Levy e2abed75ec Revert "Revert "curl: Update to version 7.29.0.""
This reverts commit ec4f56b347.

With the added patch, the curl segfault seems to be fixed.
2013-02-10 13:44:00 -05:00

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;