]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
cupsRasterReadHeader did not fully validate the raster header (STR #4596)
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 6 May 2015 12:19:59 +0000 (12:19 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 6 May 2015 12:19:59 +0000 (12:19 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12607 a1ca3aef-8c08-0410-bb20-df032aa958be

CHANGES-2.0.txt
filter/raster.c

index 08d1ca39ccfe02b50f52b9c9457dea3f03a96d97..a522c423d7f75f1570709e3bfe2a2faec1396cc6 100644 (file)
@@ -12,6 +12,8 @@ CHANGES IN CUPS V2.0.3
        - Fixed lpadmin when both -m and -o are used (STR #4578)
        - The web interface always showed support for 2-sided printing
          (STR #4595)
+       - cupsRasterReadHeader did not fully validate the raster header
+         (STR #4596)
        - Added Russian translation (STR #4577)
 
 
index f455f475706b7c0d4a33af0ee7c8e309700387db..024eedf74169e47daa5d43516e2d3ca773073961 100644 (file)
@@ -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...
   */