Date: Thursday, February 14, 2013 @ 00:19:36 Author: dwallace Revision: 84219
archrelease: copy trunk to multilib-x86_64 Added: lib32-curl/repos/multilib-x86_64/ lib32-curl/repos/multilib-x86_64/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch (from rev 84218, lib32-curl/trunk/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch) lib32-curl/repos/multilib-x86_64/PKGBUILD (from rev 84218, lib32-curl/trunk/PKGBUILD) lib32-curl/repos/multilib-x86_64/curlbuild.h (from rev 84218, lib32-curl/trunk/curlbuild.h) -----------------------------------------------------------------+ 0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch | 39 ++++ PKGBUILD | 81 ++++++++++ curlbuild.h | 9 + 3 files changed, 129 insertions(+) Copied: lib32-curl/repos/multilib-x86_64/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch (from rev 84218, lib32-curl/trunk/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch) =================================================================== --- multilib-x86_64/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch (rev 0) +++ multilib-x86_64/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch 2013-02-13 23:19:36 UTC (rev 84219) @@ -0,0 +1,39 @@ +From da3fc1ee91de656a30f3a12de394bcba55119872 Mon Sep 17 00:00:00 2001 +From: Linus Nielsen Feltzing <li...@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 + Copied: lib32-curl/repos/multilib-x86_64/PKGBUILD (from rev 84218, lib32-curl/trunk/PKGBUILD) =================================================================== --- multilib-x86_64/PKGBUILD (rev 0) +++ multilib-x86_64/PKGBUILD 2013-02-13 23:19:36 UTC (rev 84219) @@ -0,0 +1,81 @@ +# $Id$ +# Contributor: Dave Reisner <dreis...@archlinux.org> +# Contributor: Angel Velasquez <an...@archlinux.org> +# Contributor: Eric Belanger <e...@archlinux.org> +# Contributor: Lucien Immink <l.imm...@student.fnt.hvu.nl> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=lib32-curl +_pkgname=curl +pkgver=7.29.0 +pkgrel=2 +pkgdesc="An URL retrieval utility and library" +arch=('i686' 'x86_64') +url="http://curl.haxx.se" +license=('MIT') + +depends=('lib32-libssh2' 'ca-certificates') +options=('!libtool') +source=("http://curl.haxx.se/download/$_pkgname-$pkgver.tar.gz"{,.asc} + 0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch + curlbuild.h) +md5sums=('4f57d3b4a3963038bd5e04dbff385390' + '6283fbb36933cf8720acc34c43169f1d' + '5bfd1899e8b19cfdd78774f6337f8b47' + '751bd433ede935c8fae727377625a8ae') + +ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d') +case $ptrsize in + 8) _curlbuild=curlbuild-64.h ;; + 4) _curlbuild=curlbuild-32.h ;; + *) error "unknown pointer size for architecture: %s bytes" "$ptrsize" + exit 1 + ;; +esac + +build() { + cd "$_pkgname-$pkgver" + + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + # workaround to avoid error during ./configure + + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" + + patch -Np1 <"$srcdir/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch" + + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-dependency-tracking \ + --disable-ldap \ + --disable-ldaps \ + --enable-ipv6 \ + --enable-manual \ + --enable-versioned-symbols \ + --enable-threaded-resolver \ + --without-libidn \ + --with-random=/dev/urandom \ + --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \ + --libdir=/usr/lib32 + + make +} + +package() { + cd "$_pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + rm -rf "${pkgdir}"/usr/{share,bin} + + # license + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + # devel + find "${pkgdir}/usr/include/curl" -type f -not -name curlbuild.h -delete + mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/$_pkgname/curlbuild-32.h" +} Copied: lib32-curl/repos/multilib-x86_64/curlbuild.h (from rev 84218, lib32-curl/trunk/curlbuild.h) =================================================================== --- multilib-x86_64/curlbuild.h (rev 0) +++ multilib-x86_64/curlbuild.h 2013-02-13 23:19:36 UTC (rev 84219) @@ -0,0 +1,9 @@ +#include <bits/wordsize.h> + +#if __WORDSIZE == 32 +#include "curlbuild-32.h" +#elif __WORDSIZE == 64 +#include "curlbuild-64.h" +#else +#error "Unknown word size" +#endif