diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-03-29 01:47:19 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-03-29 01:47:19 -0300 |
commit | 09d4cc5f6e573bda857bd94947301b6c7527de31 (patch) | |
tree | 64dc3b2f12d10aef5ef90b97223d6add5740fa9e /libre/ghostscript/bug_696246.diff | |
parent | 2171f93c32d4106c873bb17f75da36f4f2ea3cec (diff) |
ghostscript-9.19-1.parabola1: updating version
Diffstat (limited to 'libre/ghostscript/bug_696246.diff')
-rw-r--r-- | libre/ghostscript/bug_696246.diff | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/libre/ghostscript/bug_696246.diff b/libre/ghostscript/bug_696246.diff deleted file mode 100644 index 4719eb5f4..000000000 --- a/libre/ghostscript/bug_696246.diff +++ /dev/null @@ -1,203 +0,0 @@ -From: Chris Liddell <chris.liddell@artifex.com> -Date: Fri, 9 Oct 2015 09:54:10 +0000 (+0100) -Subject: Bug 696246: devijs account for device sublassing. -X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=b68e05c3 - -Bug 696246: devijs account for device sublassing. - -The IJS device wasn't coping with the possibility it had been subclassed. - -No cluster differences ---- - -diff --git a/devices/gdevijs.c b/devices/gdevijs.c -index 5520716..a2e21ea 100644 ---- a/devices/gdevijs.c -+++ b/devices/gdevijs.c -@@ -827,6 +827,10 @@ gsijs_open(gx_device *dev) - if (code < 0) - return code; - -+ while (dev->child) -+ dev = dev->child; -+ ijsdev = (gx_device_ijs *)dev; -+ - if (use_outputfd) { - /* Note: dup() may not be portable to all interesting IJS - platforms. In that case, this branch should be #ifdef'ed out. -From: Chris Liddell <chris.liddell@artifex.com> -Date: Fri, 9 Oct 2015 11:54:44 +0000 (+0100) -Subject: Bug 696246: patch the memory manager fields for sublassed devices. -X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=95553954 - -Bug 696246: patch the memory manager fields for sublassed devices. - -When we subclass a device, we were patching the "visible" type field - that is, -the one referenced directly in the device structure. We were not patching -the type information in the memory object header so, in particular, the -garbage collector could end up calling the wrong methods for the subclassed -device. - -No cluster differences. ---- - -diff --git a/base/gdevdflt.c b/base/gdevdflt.c -index 5768937..305f89d 100644 ---- a/base/gdevdflt.c -+++ b/base/gdevdflt.c -@@ -17,6 +17,8 @@ - #include "math_.h" - #include "memory_.h" - #include "gx.h" -+#include "gsstruct.h" -+#include "gxobj.h" - #include "gserrors.h" - #include "gsropt.h" - #include "gxcomp.h" -@@ -26,6 +28,7 @@ - #include "gstrans.h" /* For gs_pdf14trans_t */ - #include "gxistate.h" /* for gs_image_state_s */ - -+ - /* defined in gsdpram.c */ - int gx_default_get_param(gx_device *dev, char *Param, void *list); - -@@ -1294,6 +1297,11 @@ int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, uns - ptr1 = ((char *)new_prototype) + sizeof(gx_device); - memcpy(ptr, ptr1, new_prototype->params_size - sizeof(gx_device)); - -+ /* We have to patch up the "type" parameters that the memory manage/garbage -+ * collector will use, as well. -+ */ -+ (((obj_header_t *)dev_to_subclass) - 1)->o_type = new_prototype->stype; -+ - /* If the original device's stype structure was dynamically allocated, we need - * to 'fixup' the contents, it's procs need to point to the new device's procs - * for instance. -diff --git a/base/lib.mak b/base/lib.mak -index de78333..09b70e5 100644 ---- a/base/lib.mak -+++ b/base/lib.mak -@@ -1210,7 +1210,7 @@ $(GLOBJ)gdevdsha.$(OBJ) : $(GLSRC)gdevdsha.c $(AK) $(gx_h)\ - - $(GLOBJ)gdevdflt.$(OBJ) : $(GLSRC)gdevdflt.c $(AK) $(gx_h)\ - $(gserrors_h) $(gsropt_h) $(gxcomp_h) $(gxdevice_h) $(gxdevsop_h) $(math__h)\ -- $(MAKEDIRS) -+ $(gsstruct_h) $(gxobj_h) $(MAKEDIRS) - $(GLCC) $(GLO_)gdevdflt.$(OBJ) $(C_) $(GLSRC)gdevdflt.c - - $(GLOBJ)gdevdgbr.$(OBJ) : $(GLSRC)gdevdgbr.c $(AK) $(gx_h)\ -From 007bd77d08d800e6b07274d62e3c91be7c4a3f47 Mon Sep 17 00:00:00 2001 -From: Ken Sharp <ken.sharp@artifex.com> -Date: Mon, 12 Oct 2015 16:36:11 +0100 -Subject: [PATCH] Guard against NULL 'base' for non-clist devices - -Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices" - -This is actually for the plib device. This device is currently (this will -change in the next commit) set to BandingAuto, despite the fact that the -device only works in banding mode. - -This can lead to use arriving in gdev_mem_open_scan_lines with all of -mdev->bitmap_memory, mdev->line_pointers_memory and mdev->base being set to -NULL. The code didn't check and assumed that mdev->base was valid, which -led to a later seg fault. - -Here we just check to make sure it isn't NULL and return an error if it is. -This doesn't prevent the possibility of garbage uninitialised values, but -there's not much we can do to check that at this stage, devices are supposed -to be initialised to 0 so this 'shouldn't' happen. - -No differences expected. ---- - base/gdevmem.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/base/gdevmem.c b/base/gdevmem.c -index 3019451f..507fa19 100644 ---- a/base/gdevmem.c -+++ b/base/gdevmem.c -@@ -471,6 +471,9 @@ gdev_mem_open_scan_lines(gx_device_memory *mdev, int setup_height) - line_pointers_adjacent = false; - } - if (line_pointers_adjacent) { -+ if (mdev->base == 0) -+ return_error(gs_error_rangecheck); -+ - gdev_mem_bits_size(mdev, mdev->width, mdev->height, &size); - mdev->line_ptrs = (byte **)(mdev->base + size); - } --- -2.5.1 - -From 1bdbe4f87dc57648821e613ebcc591b84e8b35b3 Mon Sep 17 00:00:00 2001 -From: Ken Sharp <ken.sharp@artifex.com> -Date: Mon, 12 Oct 2015 16:38:09 +0100 -Subject: [PATCH] Ensure plib devices always use the clist - -Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices" - -the plib* class of devices only work if clist is present, but previously -they left the banding_type set to 'auto', which meant that under some -conditions we did not use the clist, leading to a seg fault. - -This commit simply forces banding_type to be 'BandingAlways'. - -No differences expected. ---- - devices/gdevplib.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/devices/gdevplib.c b/devices/gdevplib.c -index 51bd7ea..87c6f46 100644 ---- a/devices/gdevplib.c -+++ b/devices/gdevplib.c -@@ -691,6 +691,8 @@ plib_open(gx_device * pdev) - bdev->printer_procs.buf_procs.size_buf_device = plib_size_buf_device; - pdev->is_planar = 1; - -+ bdev->space_params.banding_type = BandingAlways; -+ - /* You might expect us to call gdev_prn_open_planar rather than - * gdev_prn_open, but if we do that, it overwrites the 2 function - * pointers we've just overwritten! */ --- -2.5.1 - -From 5571ddfa377c5d7d98f55af40e693814ac287ae4 Mon Sep 17 00:00:00 2001 -From: Ken Sharp <ken.sharp@artifex.com> -Date: Mon, 12 Oct 2015 16:40:10 +0100 -Subject: [PATCH] prevent rinkj device crash when misconfigured (no SetupFile) - -Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices" - -The rinkj device requires a SetupFile to be given as a device parameter, -however it doesn't actually check to see if one is given, and just tries -to open the filename, with a predictable crash when none is given. - -Here we check the filename and attempt to ensure it is both present and -minimally valid. - -No differences expected. ---- - devices/gdevrinkj.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/devices/gdevrinkj.c b/devices/gdevrinkj.c -index f55bc60..12c396a 100644 ---- a/devices/gdevrinkj.c -+++ b/devices/gdevrinkj.c -@@ -1193,6 +1193,10 @@ rinkj_print_page(gx_device_printer *pdev, FILE *file) - int code = 0; - RinkjDevice *cmyk_dev; - -+ if (rdev->setup_fn == 0 || rdev->setup_fn[0] == 0) { -+ emprintf(rdev->memory, "Error, SetupFile not defined, output aborted\n"); -+ return 0; -+ } - cmyk_dev = rinkj_init(rdev, file); - if (cmyk_dev == 0) - return gs_note_error(gs_error_ioerror); --- -2.5.1 - |