summaryrefslogtreecommitdiff
path: root/print/ghostscript-gpl/patches/patch-CVE-2017-6196
diff options
context:
space:
mode:
Diffstat (limited to 'print/ghostscript-gpl/patches/patch-CVE-2017-6196')
-rw-r--r--print/ghostscript-gpl/patches/patch-CVE-2017-619641
1 files changed, 41 insertions, 0 deletions
diff --git a/print/ghostscript-gpl/patches/patch-CVE-2017-6196 b/print/ghostscript-gpl/patches/patch-CVE-2017-6196
new file mode 100644
index 00000000000..7bf20419e75
--- /dev/null
+++ b/print/ghostscript-gpl/patches/patch-CVE-2017-6196
@@ -0,0 +1,41 @@
+$NetBSD: patch-CVE-2017-6196,v 1.1 2017/03/23 20:38:24 tez Exp $
+
+Patch for CVE-2017-6196 adapted from:
+
+http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=ecceafe3abba2714ef9b432035fe0739d9b1a283
+
+
+--- base/gxipixel.c
++++ base/gxipixel.c
+@@ -257,7 +257,6 @@ gx_image_enum_begin(gx_device * dev, con
+ if ((code = gs_matrix_invert_to_double(&pim->ImageMatrix, &mat)) < 0 ||
+ (code = gs_matrix_multiply_double(&mat, pmat, &mat)) < 0
+ ) {
+- gs_free_object(mem, penum, "gx_default_begin_image");
+ return code;
+ }
+ }
+@@ -487,7 +486,6 @@ gx_image_enum_begin(gx_device * dev, con
+ }
+ if (masked) { /* This is imagemask. */
+ if (bps != 1 || pcs != NULL || penum->alpha || decode[0] == decode[1]) {
+- gs_free_object(mem, penum, "gx_default_begin_image");
+ return_error(gs_error_rangecheck);
+ }
+ /* Initialize color entries 0 and 255. */
+@@ -507,7 +505,6 @@ gx_image_enum_begin(gx_device * dev, con
+
+ spp = cs_num_components(pcs);
+ if (spp < 0) { /* Pattern not allowed */
+- gs_free_object(mem, penum, "gx_default_begin_image");
+ return_error(gs_error_rangecheck);
+ }
+ if (penum->alpha)
+@@ -613,7 +610,6 @@ gx_image_enum_begin(gx_device * dev, con
+ bsize = ((bps > 8 ? width * 2 : width) + 15) * spp;
+ buffer = gs_alloc_bytes(mem, bsize, "image buffer");
+ if (buffer == 0) {
+- gs_free_object(mem, penum, "gx_default_begin_image");
+ return_error(gs_error_VMerror);
+ }
+ penum->bps = bps;