From: Daniel Stenberg Date: Thu, 29 Aug 2013 20:08:01 +0000 (+0200) Subject: curl_multi_remove_handle: allow multiple removes X-Git-Tag: curl-7_33_0~193 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=84f3b3dd448399f9548468676e1bd1475dba8de5;p=thirdparty%2Fcurl.git curl_multi_remove_handle: allow multiple removes When removing an already removed handle, avoid that to ruin the internals and just return OK instead. --- diff --git a/lib/multi.c b/lib/multi.c index fb495e078c..e723a3ebf0 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 &&