diff options
Diffstat (limited to 'core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch')
-rw-r--r-- | core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch b/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch new file mode 100644 index 000000000..aaedc27c6 --- /dev/null +++ b/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch @@ -0,0 +1,39 @@ +From da3fc1ee91de656a30f3a12de394bcba55119872 Mon Sep 17 00:00:00 2001 +From: Linus Nielsen Feltzing <linus@haxx.se> +Date: Sun, 10 Feb 2013 22:57:58 +0100 +Subject: [PATCH] Fix NULL pointer reference when closing an unused multi + handle. + +--- + lib/multi.c | 8 +++++--- + tests/data/Makefile.am | 1 + + tests/data/test1508 | 31 +++++++++++++++++++++++++++++ + tests/libtest/Makefile.inc | 6 +++++- + tests/libtest/lib1508.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 91 insertions(+), 4 deletions(-) + create mode 100644 tests/data/test1508 + create mode 100644 tests/libtest/lib1508.c + +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); +-- +1.8.1.3 + |