summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO16
-rw-r--r--CVE-2009-3560.patch13
-rw-r--r--CVE-2009-3720.patch12
-rw-r--r--PKGBUILD34
4 files changed, 75 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..6bd73b6724b5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,16 @@
+pkgbase = libx32-expat
+ pkgdesc = An XML Parser library written in C (x32 ABI)
+ pkgver = 2.1.0
+ pkgrel = 1.1
+ url = http://expat.sourceforge.net/
+ arch = x86_64
+ license = custom
+ makedepends = gcc-multilib-x32
+ depends = libx32-glibc
+ depends = expat
+ options = !libtool
+ source = http://downloads.sourceforge.net/sourceforge/expat/expat-2.1.0.tar.gz
+ md5sums = dd7dab7a5fea97d2a6a43f511449b7cd
+
+pkgname = libx32-expat
+
diff --git a/CVE-2009-3560.patch b/CVE-2009-3560.patch
new file mode 100644
index 000000000000..5fe9c36c8208
--- /dev/null
+++ b/CVE-2009-3560.patch
@@ -0,0 +1,13 @@
+diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c
+--- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200
++++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100
+@@ -3703,6 +3703,9 @@
+ return XML_ERROR_UNCLOSED_TOKEN;
+ case XML_TOK_PARTIAL_CHAR:
+ return XML_ERROR_PARTIAL_CHAR;
++ case -XML_TOK_PROLOG_S:
++ tok = -tok;
++ break;
+ case XML_TOK_NONE:
+ #ifdef XML_DTD
+ /* for internal PE NOT referenced between declarations */
diff --git a/CVE-2009-3720.patch b/CVE-2009-3720.patch
new file mode 100644
index 000000000000..65d16431f4f4
--- /dev/null
+++ b/CVE-2009-3720.patch
@@ -0,0 +1,12 @@
+diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c
+--- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100
++++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200
+@@ -1744,7 +1744,7 @@
+ const char *end,
+ POSITION *pos)
+ {
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: \
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..63359ea0046c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $
+# Maintainer: Fantix King <fantix.king at gmail.com>
+
+_pkgbasename=expat
+pkgname=libx32-${_pkgbasename}
+pkgver=2.1.0
+pkgrel=1.1
+pkgdesc="An XML Parser library written in C (x32 ABI)"
+arch=('x86_64')
+url="http://expat.sourceforge.net/"
+license=('custom')
+makedepends=('gcc-multilib-x32')
+depends=('libx32-glibc' "${_pkgbasename}")
+options=('!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/expat/${_pkgbasename}-${pkgver}.tar.gz)
+md5sums=('dd7dab7a5fea97d2a6a43f511449b7cd')
+
+build() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ export CC='gcc -mx32'
+ export PKG_CONFIG_PATH=/usr/libx32/pkgconfig
+ ./configure --prefix=/usr --libdir=/usr/libx32 --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgbasename}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/"
+ ln -s ${_pkgbasename} "${pkgdir}/usr/share/licenses/${pkgname}"
+
+ # Clean up libx32 package
+ rm -rf "${pkgdir}"/usr/{bin,include,share/man}
+}