diff options
Diffstat (limited to 'net-misc/curl/files/curl-7.29.0-fix-null-pointer.patch')
-rw-r--r-- | net-misc/curl/files/curl-7.29.0-fix-null-pointer.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/net-misc/curl/files/curl-7.29.0-fix-null-pointer.patch b/net-misc/curl/files/curl-7.29.0-fix-null-pointer.patch new file mode 100644 index 000000000000..3a20c8ab19b2 --- /dev/null +++ b/net-misc/curl/files/curl-7.29.0-fix-null-pointer.patch @@ -0,0 +1,28 @@ +Fix NULL pointer reference when closing an unused multi handle. + +This is commit da3fc1e from upstream, modulo test 1508. + +X-Gentoo-Bug: 456842 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/456842 +Reported-by: Thomas McShane <firewrks@yahoo.com> + +diff --git a/lib/multi.c b/lib/multi.c +index fa0afb9..706df23 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -1773,10 +1773,12 @@ 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); ++ Curl_close(multi->closure_handle); ++ } + multi->closure_handle = NULL; + + Curl_hash_destroy(multi->sockhash); |