aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-07-31 15:07:22 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-08-04 14:35:15 +0000
commit6c275fa9475ad80a6e7801bf9356cb7acc22c654 (patch)
tree6614e4f0e99dcf546c2400230f7c3f7f67c70b3b
parent9e4e4422f4ff9de99661a5932d2266508a6d98ac (diff)
downloadaports-6c275fa9475ad80a6e7801bf9356cb7acc22c654.tar.bz2
aports-6c275fa9475ad80a6e7801bf9356cb7acc22c654.tar.xz
main/ghostscript: security fix for CVE-2015-3228
fixes #4470
-rw-r--r--main/ghostscript/APKBUILD15
-rw-r--r--main/ghostscript/CVE-2015-3228.patch29
2 files changed, 39 insertions, 5 deletions
diff --git a/main/ghostscript/APKBUILD b/main/ghostscript/APKBUILD
index 1df48367c8..1abb649ea9 100644
--- a/main/ghostscript/APKBUILD
+++ b/main/ghostscript/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Cameron Banta <cbanta@gmail.com>
pkgname=ghostscript
pkgver=9.10
-pkgrel=1
+pkgrel=2
pkgdesc="An interpreter for the PostScript language and for PDF"
url="http://ghostscript.com/"
arch="all"
@@ -11,7 +11,9 @@ makedepends="autoconf automake libjpeg-turbo-dev libpng-dev jasper-dev expat-dev
zlib-dev tiff-dev freetype-dev libiconv-dev lcms-dev gtk+3.0-dev
cups-dev libtool"
subpackages="$pkgname-doc $pkgname-dev $pkgname-gtk"
-source="http://downloads.ghostscript.com/public/$pkgname-$pkgver.tar.gz"
+source="http://downloads.ghostscript.com/public/$pkgname-$pkgver.tar.gz
+ CVE-2015-3228.patch
+ "
_builddir="$srcdir/ghostscript-$pkgver"
prepare() {
@@ -103,6 +105,9 @@ gtk() {
mv "$pkgdir"/usr/bin/gsx "$subpkgdir"/usr/bin/
}
-md5sums="5f0c0a2670b08466a4050ddbd1f3de63 ghostscript-9.10.tar.gz"
-sha256sums="913fc974433238ffd4e0549ce11ba2a3360d1d159cf5c3b988d72a77acb74d04 ghostscript-9.10.tar.gz"
-sha512sums="310bc7fa2312c1a739b93bed421387a293309036a0ddc6a8be3c9b44d6363f5cc7f1f0f5c6bbd4428902f10e2e59087d63679b94e9b3fa869d7de76edd93d89e ghostscript-9.10.tar.gz"
+md5sums="5f0c0a2670b08466a4050ddbd1f3de63 ghostscript-9.10.tar.gz
+27971c7530ffd4e4046d1ffb61cac13d CVE-2015-3228.patch"
+sha256sums="913fc974433238ffd4e0549ce11ba2a3360d1d159cf5c3b988d72a77acb74d04 ghostscript-9.10.tar.gz
+e6407cc5d74b6963242efec942c92b093a076c835451e6b949417b85d24c85d1 CVE-2015-3228.patch"
+sha512sums="310bc7fa2312c1a739b93bed421387a293309036a0ddc6a8be3c9b44d6363f5cc7f1f0f5c6bbd4428902f10e2e59087d63679b94e9b3fa869d7de76edd93d89e ghostscript-9.10.tar.gz
+142772a600d69e48e2a58d84ebf08fb89a8794cfa0424b81f35b7bb99399a07ed2bbfb2a2e7c60663f3e8cfcc223c04c23433cb81a3ab5dbd59cd8252f930367 CVE-2015-3228.patch"
diff --git a/main/ghostscript/CVE-2015-3228.patch b/main/ghostscript/CVE-2015-3228.patch
new file mode 100644
index 0000000000..ebd87f7bf7
--- /dev/null
+++ b/main/ghostscript/CVE-2015-3228.patch
@@ -0,0 +1,29 @@
+From 0c0b0859ae1aba64861599f0e7f74f143f305932 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Tue, 7 Jul 2015 16:57:41 +0100
+Subject: [PATCH] Bug 696041: sanity check for memory allocation.
+
+In gs_heap_alloc_bytes(), add a sanity check to ensure we don't overflow the
+variable holding the actual number of bytes we allocate.
+
+No cluster differences
+---
+ gs/base/gsmalloc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gs/base/gsmalloc.c b/gs/base/gsmalloc.c
+index 624552d..cad79c2 100644
+--- a/base/gsmalloc.c
++++ b/base/gsmalloc.c
+@@ -178,7 +178,7 @@ gs_heap_alloc_bytes(gs_memory_t * mem, uint size, client_name_t cname)
+ } else {
+ uint added = size + sizeof(gs_malloc_block_t);
+
+- if (mmem->limit - added < mmem->used)
++ if (added <= size || mmem->limit - added < mmem->used)
+ set_msg("exceeded limit");
+ else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0)
+ set_msg("failed");
+--
+2.4.6
+