Fri Feb 14 17:49:41 2014 UTC ()
add patch from upstream to fix buffer overflow in xps_parse_color()
bump PKGREV


(drochner)
diff -r1.20 -r1.21 pkgsrc/print/mupdf/Makefile
diff -r1.10 -r1.11 pkgsrc/print/mupdf/distinfo
diff -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-ba
diff -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-bb
diff -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-bc
diff -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-bd

cvs diff -r1.20 -r1.21 pkgsrc/print/mupdf/Makefile (expand / switch to unified diff)

--- pkgsrc/print/mupdf/Makefile 2014/02/12 23:18:30 1.20
+++ pkgsrc/print/mupdf/Makefile 2014/02/14 17:49:41 1.21
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.20 2014/02/12 23:18:30 tron Exp $ 1# $NetBSD: Makefile,v 1.21 2014/02/14 17:49:41 drochner Exp $
2 2
3DISTNAME= mupdf-1.3-source 3DISTNAME= mupdf-1.3-source
4PKGNAME= ${DISTNAME:S/-source//} 4PKGNAME= ${DISTNAME:S/-source//}
5PKGREVISION= 1 5PKGREVISION= 2
6CATEGORIES= print 6CATEGORIES= print
7MASTER_SITES= http://mupdf.googlecode.com/files/ 7MASTER_SITES= http://mupdf.googlecode.com/files/
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://mupdf.com/ 10HOMEPAGE= http://mupdf.com/
11COMMENT= Lightweight PDF viewer and toolkit 11COMMENT= Lightweight PDF viewer and toolkit
12LICENSE= gnu-agpl-v3 12LICENSE= gnu-agpl-v3
13 13
14USE_LIBTOOL= yes 14USE_LIBTOOL= yes
15USE_TOOLS+= pkg-config gmake 15USE_TOOLS+= pkg-config gmake
16 16
17SUBST_CLASSES+= makerules 17SUBST_CLASSES+= makerules
18SUBST_STAGE.makerules= post-patch 18SUBST_STAGE.makerules= post-patch

cvs diff -r1.10 -r1.11 pkgsrc/print/mupdf/distinfo (expand / switch to unified diff)

--- pkgsrc/print/mupdf/distinfo 2014/01/09 14:25:23 1.10
+++ pkgsrc/print/mupdf/distinfo 2014/02/14 17:49:41 1.11
@@ -1,9 +1,13 @@ @@ -1,9 +1,13 @@
1$NetBSD: distinfo,v 1.10 2014/01/09 14:25:23 mef Exp $ 1$NetBSD: distinfo,v 1.11 2014/02/14 17:49:41 drochner Exp $
2 2
3SHA1 (mupdf-1.3-source.tar.gz) = 082325aceb5565b07b82c2b6cc52a97533e03cf9 3SHA1 (mupdf-1.3-source.tar.gz) = 082325aceb5565b07b82c2b6cc52a97533e03cf9
4RMD160 (mupdf-1.3-source.tar.gz) = 5f898cfaa3a54c7c34835411b0d386914edee2f8 4RMD160 (mupdf-1.3-source.tar.gz) = 5f898cfaa3a54c7c34835411b0d386914edee2f8
5Size (mupdf-1.3-source.tar.gz) = 14594969 bytes 5Size (mupdf-1.3-source.tar.gz) = 14594969 bytes
6SHA1 (patch-Makethird) = 37b0be98bf859ec9d995dd7a3c05c191be42a479 6SHA1 (patch-Makethird) = 37b0be98bf859ec9d995dd7a3c05c191be42a479
7SHA1 (patch-ab) = d3258d2c37743a3c4bc1949d3246e71d81e4d69e 7SHA1 (patch-ab) = d3258d2c37743a3c4bc1949d3246e71d81e4d69e
8SHA1 (patch-ac) = aa528c732ca5f42234279734467155e68aa39663 8SHA1 (patch-ac) = aa528c732ca5f42234279734467155e68aa39663
9SHA1 (patch-ae) = df35d031a816eceac5bdfd5ddb298adea4a48ce0 9SHA1 (patch-ae) = df35d031a816eceac5bdfd5ddb298adea4a48ce0
 10SHA1 (patch-ba) = eeb839953619c08d222b3400bab38b738c08b465
 11SHA1 (patch-bb) = 82002ae6fe2eef67c1ee64123434298765716047
 12SHA1 (patch-bc) = 02b2cb087dd94165f71126636b82976917cd0d7f
 13SHA1 (patch-bd) = f8d4d1f7f638df4a39279294868dad8ac1ac5a33

File Added: pkgsrc/print/mupdf/patches/Attic/patch-ba
$NetBSD: patch-ba,v 1.1 2014/02/14 17:49:41 drochner Exp $

http://bugs.ghostscript.com/show_bug.cgi?id=694957

--- source/xps/xps-common.c.orig	2013-08-14 12:41:20.000000000 +0000
+++ source/xps/xps-common.c
@@ -89,7 +89,7 @@ xps_begin_opacity(xps_document *doc, con
 		if (scb_color_att)
 		{
 			fz_colorspace *colorspace;
-			float samples[32];
+			float samples[FZ_MAX_COLORS];
 			xps_parse_color(doc, base_uri, scb_color_att, &colorspace, samples);
 			opacity = opacity * samples[0];
 		}
@@ -208,12 +208,13 @@ void
 xps_parse_color(xps_document *doc, char *base_uri, char *string,
 		fz_colorspace **csp, float *samples)
 {
+	fz_context *ctx = doc->ctx;
 	char *p;
 	int i, n;
 	char buf[1024];
 	char *profile;
 
-	*csp = fz_device_rgb(doc->ctx);
+	*csp = fz_device_rgb(ctx);
 
 	samples[0] = 1;
 	samples[1] = 0;
@@ -259,7 +260,7 @@ xps_parse_color(xps_document *doc, char 
 		profile = strchr(buf, ' ');
 		if (!profile)
 		{
-			fz_warn(doc->ctx, "cannot find icc profile uri in '%s'", string);
+			fz_warn(ctx, "cannot find icc profile uri in '%s'", string);
 			return;
 		}
 
@@ -267,12 +268,17 @@ xps_parse_color(xps_document *doc, char 
 		p = strchr(profile, ' ');
 		if (!p)
 		{
-			fz_warn(doc->ctx, "cannot find component values in '%s'", profile);
+			fz_warn(ctx, "cannot find component values in '%s'", profile);
 			return;
 		}
 
 		*p++ = 0;
 		n = count_commas(p) + 1;
+		if (n > FZ_MAX_COLORS)
+		{
+			fz_warn(ctx, "ignoring %d color components (max %d allowed)", n - FZ_MAX_COLORS, FZ_MAX_COLORS);
+			n = FZ_MAX_COLORS;
+		}
 		i = 0;
 		while (i < n)
 		{
@@ -292,10 +298,10 @@ xps_parse_color(xps_document *doc, char 
 		/* TODO: load ICC profile */
 		switch (n)
 		{
-		case 2: *csp = fz_device_gray(doc->ctx); break;
-		case 4: *csp = fz_device_rgb(doc->ctx); break;
-		case 5: *csp = fz_device_cmyk(doc->ctx); break;
-		default: *csp = fz_device_gray(doc->ctx); break;
+		case 2: *csp = fz_device_gray(ctx); break;
+		case 4: *csp = fz_device_rgb(ctx); break;
+		case 5: *csp = fz_device_cmyk(ctx); break;
+		default: *csp = fz_device_gray(ctx); break;
 		}
 	}
 }

File Added: pkgsrc/print/mupdf/patches/Attic/patch-bb
$NetBSD: patch-bb,v 1.1 2014/02/14 17:49:41 drochner Exp $

--- source/xps/xps-glyphs.c.orig	2013-08-14 12:41:20.000000000 +0000
+++ source/xps/xps-glyphs.c
@@ -591,7 +591,7 @@ xps_parse_glyphs(xps_document *doc, cons
 
 	if (fill_att)
 	{
-		float samples[32];
+		float samples[FZ_MAX_COLORS];
 		fz_colorspace *colorspace;
 
 		xps_parse_color(doc, base_uri, fill_att, &colorspace, samples);

File Added: pkgsrc/print/mupdf/patches/Attic/patch-bc
$NetBSD: patch-bc,v 1.1 2014/02/14 17:49:41 drochner Exp $

--- source/xps/xps-gradient.c.orig	2013-08-14 12:41:20.000000000 +0000
+++ source/xps/xps-gradient.c
@@ -38,7 +38,7 @@ xps_parse_gradient_stops(xps_document *d
 	struct stop *stops, int maxcount)
 {
 	fz_colorspace *colorspace;
-	float sample[8];
+	float sample[FZ_MAX_COLORS];
 	float rgb[3];
 	int before, after;
 	int count;

File Added: pkgsrc/print/mupdf/patches/Attic/patch-bd
$NetBSD: patch-bd,v 1.1 2014/02/14 17:49:41 drochner Exp $

--- source/xps/xps-path.c.orig	2013-08-14 12:41:20.000000000 +0000
+++ source/xps/xps-path.c
@@ -826,7 +826,7 @@ xps_parse_path(xps_document *doc, const 
 
 	fz_stroke_state *stroke = NULL;
 	fz_matrix transform;
-	float samples[32];
+	float samples[FZ_MAX_COLORS];
 	fz_colorspace *colorspace;
 	fz_path *path = NULL;
 	fz_path *stroke_path = NULL;