summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2015-10-23 18:07:07 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2015-10-23 18:07:07 +0000
commitf433237632fea3b0e2a6bb7a30e3968a1b66277d (patch)
tree82fc7266cca44d02ae696efbcd1ce1e536dbe640 /filter
parent3c0659cd0fb6a9ccfa1e432dea9cf5511c1e1464 (diff)
downloadcups-f433237632fea3b0e2a6bb7a30e3968a1b66277d.tar.gz
Add margin checks to rastertopwg (<rdar://problem/23132108>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12909 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'filter')
-rw-r--r--filter/rastertopwg.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c
index 569460bc0..ff6b76b72 100644
--- a/filter/rastertopwg.c
+++ b/filter/rastertopwg.c
@@ -105,6 +105,13 @@ main(int argc, /* I - Number of command-line args */
linesize = (page_width * inheader.cupsBitsPerPixel + 7) / 8;
lineoffset = page_left * inheader.cupsBitsPerPixel / 8; /* Round down */
+ if (page_left > page_width || page_top > page_height || page_bottom > page_height)
+ {
+ _cupsLangPrintFilter(stderr, "ERROR", _("Unsupported raster data."));
+ fprintf(stderr, "DEBUG: Bad bottom/left/top margin on page %d.\n", page);
+ return (1);
+ }
+
switch (inheader.cupsColorSpace)
{
case CUPS_CSPACE_W :