summaryrefslogtreecommitdiff
path: root/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch
diff options
context:
space:
mode:
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.patch39
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
+