Submitted By:            Armin K. <krejzi at email dot com>
Date:                    2013-03-03
Initial Package Version: 7.29.0
Upstream Status:         Fixed upstream.
Origin:                  Upstream.
Description:             Fixes segfault in libcurl.

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

