summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2015-05-06 12:19:59 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2015-05-06 12:19:59 +0000
commit33076d249bcac412a87c23e2b4df5e234a217fd9 (patch)
treed5a672026a125a228494867a2f8e5342251cd880 /filter
parentd2df9aeddbb2db753670eafca8460ac4c0e18820 (diff)
downloadcups-33076d249bcac412a87c23e2b4df5e234a217fd9.tar.gz
cupsRasterReadHeader did not fully validate the raster header (STR #4596)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12607 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'filter')
-rw-r--r--filter/raster.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/filter/raster.c b/filter/raster.c
index f455f4757..024eedf74 100644
--- a/filter/raster.c
+++ b/filter/raster.c
@@ -970,7 +970,7 @@ cups_raster_read_header(
cups_raster_update(r);
- return (r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0 && (r->header.cupsBytesPerLine % r->bpp) == 0);
+ return (r->header.cupsBitsPerPixel != 0 && r->header.cupsBitsPerColor != 0 && r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0 && (r->header.cupsBytesPerLine % r->bpp) == 0);
}
@@ -1240,6 +1240,9 @@ cups_raster_update(cups_raster_t *r) /* I - Raster stream */
else
r->bpp = (r->header.cupsBitsPerColor + 7) / 8;
+ if (r->bpp == 0)
+ r->bpp = 1;
+
/*
* Set the number of remaining rows...
*/