From de304c3ed7036488819426771b7edd1897e2ba9a Mon Sep 17 00:00:00 2001 From: root Date: Sun, 8 Sep 2013 02:19:16 -0700 Subject: Sun Sep 8 02:16:12 PDT 2013 --- ...ulti_remove_handle-allow-multiple-removes.patch | 29 ++++++++++++++++++++++ core/curl/PKGBUILD | 12 +++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 core/curl/0001-curl_multi_remove_handle-allow-multiple-removes.patch (limited to 'core') 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 +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 + diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD index 474c64693..d8454eb34 100644 --- a/core/curl/PKGBUILD +++ b/core/curl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 193070 2013-08-15 13:17:43Z dreisner $ +# $Id: PKGBUILD 193944 2013-09-07 15:30:07Z dreisner $ # Maintainer: Dave Reisner # Contributor: Angel Velasquez # Contributor: Eric Belanger @@ -7,7 +7,7 @@ pkgname=curl pkgver=7.32.0 -pkgrel=1 +pkgrel=2 pkgdesc="An URL retrieval utility and library" arch=('i686' 'x86_64') url="http://curl.haxx.se" @@ -16,11 +16,19 @@ depends=('ca-certificates' 'libssh2' 'openssl' 'zlib') provides=('libcurl.so') options=('!libtool') source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} + 0001-curl_multi_remove_handle-allow-multiple-removes.patch curlbuild.h) md5sums=('f77cf3cb59cf2bfe686b80338323fd40' 'SKIP' + '589a2ccdf90e198fca398809e9d16128' '751bd433ede935c8fae727377625a8ae') +prepare() { + cd "$pkgname-$pkgver" + + patch -Np1 <"$srcdir"/0001-curl_multi_remove_handle-allow-multiple-removes.patch +} + build() { cd "$pkgname-$pkgver" -- cgit v1.2.3-54-g00ecf