]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
The rastertopwg filter did not check for truncated input (STR #4597)
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 6 May 2015 12:24:47 +0000 (12:24 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 6 May 2015 12:24:47 +0000 (12:24 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12609 a1ca3aef-8c08-0410-bb20-df032aa958be

CHANGES-2.0.txt
filter/rastertopwg.c

index a522c423d7f75f1570709e3bfe2a2faec1396cc6..fd86d4592b3f334d18e9dd61ed217fd08d00ce4c 100644 (file)
@@ -14,6 +14,7 @@ CHANGES IN CUPS V2.0.3
          (STR #4595)
        - cupsRasterReadHeader did not fully validate the raster header
          (STR #4596)
+       - The rastertopwg filter did not check for truncated input (STR #4597)
        - Added Russian translation (STR #4577)
 
 
index 12f77d66ff36ff94b481e0e243040b0b37b755ad..569460bc06eaa4bedb7e4d8aa12a9a6bfefd06cd 100644 (file)
@@ -418,7 +418,14 @@ main(int  argc,                            /* I - Number of command-line args */
 
     for (y = inheader.cupsHeight; y > 0; y --)
     {
-      cupsRasterReadPixels(inras, line + lineoffset, inheader.cupsBytesPerLine);
+      if (cupsRasterReadPixels(inras, line + lineoffset, inheader.cupsBytesPerLine) != inheader.cupsBytesPerLine)
+      {
+       _cupsLangPrintFilter(stderr, "ERROR", _("Error reading raster data."));
+       fprintf(stderr, "DEBUG: Unable to read line %d for page %d.\n",
+               inheader.cupsHeight - y + page_top + 1, page);
+       return (1);
+      }
+
       if (!cupsRasterWritePixels(outras, line, outheader.cupsBytesPerLine))
       {
        _cupsLangPrintFilter(stderr, "ERROR", _("Error sending raster data."));