diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2015-05-06 12:19:59 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2015-05-06 12:19:59 +0000 |
commit | 33076d249bcac412a87c23e2b4df5e234a217fd9 (patch) | |
tree | d5a672026a125a228494867a2f8e5342251cd880 /filter | |
parent | d2df9aeddbb2db753670eafca8460ac4c0e18820 (diff) | |
download | cups-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.c | 5 |
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... */ |