summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/pcre
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/pcre')
-rw-r--r--abs/core-testing/pcre/ChangeLog10
-rw-r--r--abs/core-testing/pcre/PKGBUILD32
-rw-r--r--abs/core-testing/pcre/libpcre-7.7-buffer-overflow.patch16
3 files changed, 58 insertions, 0 deletions
diff --git a/abs/core-testing/pcre/ChangeLog b/abs/core-testing/pcre/ChangeLog
new file mode 100644
index 0000000..fa86646
--- /dev/null
+++ b/abs/core-testing/pcre/ChangeLog
@@ -0,0 +1,10 @@
+2008-07-07 Eric Belanger <eric@archlinux.org>
+
+ * pcre 7.7-2
+ * Added libpcre-7.7-buffer-overflow.patch to fix buffer overflow (close FS#10845)
+
+2008-05-10 Eric Belanger <eric@archlinux.org>
+
+ * pcre 7.7-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/abs/core-testing/pcre/PKGBUILD b/abs/core-testing/pcre/PKGBUILD
new file mode 100644
index 0000000..2cf7252
--- /dev/null
+++ b/abs/core-testing/pcre/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 4449 2008-07-07 16:12:00Z eric $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=pcre
+pkgver=7.7
+pkgrel=11
+pkgdesc="A library that implements Perl 5-style regular expressions"
+arch=('i686' 'x86_64')
+url="http://pcre.sourceforge.net"
+license=('custom')
+groups=('base')
+depends=('gcc-libs')
+options=('!libtool' '!makeflags')
+source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2 \
+ libpcre-7.7-buffer-overflow.patch)
+md5sums=('4b2e9cde1f7227448dddba59843efa0b' 'ea2204b6a0cbc83b3ca925ace06459a1')
+sha1sums=('f1f54d3e13e6cb427de962e62eaaee32c74cba38' '5a69fb97f1fa547f9012082221a6b98d77b65277')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ [ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
+ patch -p1 < ../libpcre-7.7-buffer-overflow.patch || return 1
+ ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties || return 1
+ make || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ # grep uses pcre, so we need the libs in /lib
+ mkdir -p ${pkgdir}/lib
+ mv ${pkgdir}/usr/lib/libpcre.so.* ${pkgdir}/lib/ || return 1
+ ln -sf ../../lib/libpcre.so.0 ${pkgdir}/usr/lib/libpcre.so || return 1
+ install -D -m644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/license.txt || return 1
+}
diff --git a/abs/core-testing/pcre/libpcre-7.7-buffer-overflow.patch b/abs/core-testing/pcre/libpcre-7.7-buffer-overflow.patch
new file mode 100644
index 0000000..a27987f
--- /dev/null
+++ b/abs/core-testing/pcre/libpcre-7.7-buffer-overflow.patch
@@ -0,0 +1,16 @@
+diff -NrU5 pcre-7.7.orig/pcre_compile.c pcre-7.7/pcre_compile.c
+--- pcre-7.7.orig/pcre_compile.c 2008-06-18 17:08:49.000000000 +0200
++++ pcre-7.7/pcre_compile.c 2008-06-18 17:11:04.000000000 +0200
+@@ -4929,11 +4929,11 @@
+ {
+ if (code == cd->start_code + 1 + LINK_SIZE &&
+ (lengthptr == NULL || *lengthptr == 2 + 2*LINK_SIZE))
+ {
+ cd->external_options = newoptions;
+- options = newoptions;
++ options = *optionsptr = newoptions;
+ }
+ else
+ {
+ if ((options & PCRE_IMS) != (newoptions & PCRE_IMS))
+ {