diff options
Diffstat (limited to 'core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch')
-rw-r--r-- | core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch b/core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch new file mode 100644 index 000000000..73b23ea12 --- /dev/null +++ b/core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch @@ -0,0 +1,29 @@ +From 84f3b3dd448399f9548468676e1bd1475dba8de5 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg <daniel@haxx.se> +Date: Thu, 29 Aug 2013 22:08:01 +0200 +Subject: [PATCH] curl_multi_remove_handle: allow multiple removes + +When removing an already removed handle, avoid that to ruin the +internals and just return OK instead. +--- + lib/multi.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/multi.c b/lib/multi.c +index fb495e0..e723a3e 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -483,6 +483,10 @@ CURLMcode curl_multi_remove_handle(CURLM *multi_handle, + if(!GOOD_EASY_HANDLE(curl_handle)) + return CURLM_BAD_EASY_HANDLE; + ++ /* Prevent users from trying to remove same easy handle more than once */ ++ if(!data->multi) ++ return CURLM_OK; /* it is already removed so let's say it is fine! */ ++ + if(easy) { + bool premature = (data->mstate < CURLM_STATE_COMPLETED) ? TRUE : FALSE; + bool easy_owns_conn = (data->easy_conn && +-- +1.8.4 + |