diff -up cups-1.6.3/filter/raster.c.str4551 cups-1.6.3/filter/raster.c
--- cups-1.6.3/filter/raster.c.str4551 2013-06-07 03:12:52.000000000 +0200
+++ cups-1.6.3/filter/raster.c 2015-06-10 11:58:55.393299339 +0200
@@ -281,7 +281,10 @@ cupsRasterReadHeader(
*/
if (!cups_raster_read_header(r))
+ {
+ memset(h, 0, sizeof(cups_page_header_t));
return (0);
+ }
/*
* Copy the header to the user-supplied buffer...
@@ -310,7 +313,10 @@ cupsRasterReadHeader2(
*/
if (!cups_raster_read_header(r))
+ {
+ memset(h, 0, sizeof(cups_page_header2_t));
return (0);
+ }
/*
* Copy the header to the user-supplied buffer...
@@ -988,7 +994,7 @@ cups_raster_read_header(
cups_raster_update(r);
- return (r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0);
+ return (r->header.cupsBytesPerLine != 0 && r->header.cupsHeight != 0 && (r->header.cupsBytesPerLine % r->bpp) == 0);
}