diff options
Diffstat (limited to 'print/ghostscript-gpl/patches/patch-CVE-2017-6196')
-rw-r--r-- | print/ghostscript-gpl/patches/patch-CVE-2017-6196 | 41 |
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; |