summaryrefslogtreecommitdiff
path: root/base/gxclimag.c
diff options
context:
space:
mode:
authorRay Johnston <ray.johnston@artifex.com>2021-02-17 13:05:35 -0800
committerRay Johnston <ray.johnston@artifex.com>2021-02-17 20:39:17 -0800
commit331fcb49b62a615976711cccdd3ff9796152a323 (patch)
tree9762d6c07827eba83c1f1cd84ef04855cf8132cb /base/gxclimag.c
parent8608819c8531174290d6075ad5747bd0b0f32d4b (diff)
downloadghostpdl-331fcb49b62a615976711cccdd3ff9796152a323.tar.gz
Fix bug 703245: bitmap size exceeds buffer.
The pdf14 compositor changes the color depth to 8 for a SMask, but the compositor actions were not being put in all the bands needed. In this case the copy_color_alpha was output from the interpolation logic because the image gridfitting expanded the image. Fix it by expanding the top and bottom limits for the "temp_cropping" which controls the RECT loop writing the compositor info to the bands.
Diffstat (limited to 'base/gxclimag.c')
-rw-r--r--base/gxclimag.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/base/gxclimag.c b/base/gxclimag.c
index 8d398313b..4e21b551c 100644
--- a/base/gxclimag.c
+++ b/base/gxclimag.c
@@ -1376,6 +1376,11 @@ clist_create_compositor(gx_device * dev,
temp_cropping_min = cdev->cropping_min;
temp_cropping_max = cdev->cropping_max;
}
+ /* Adjust the lower and upper bound to allow for image gridfitting changing boundaries */
+ if (temp_cropping_min > 0)
+ temp_cropping_min--;
+ if (temp_cropping_max < dev->height - 1)
+ temp_cropping_max++;
if (temp_cropping_min < temp_cropping_max) {
/* The pdf14 compositor could be applied
only to bands covered by the pcte->params.bbox. */