From: msweet Date: Wed, 6 May 2015 12:24:47 +0000 (+0000) Subject: The rastertopwg filter did not check for truncated input (STR #4597) X-Git-Tag: v2.2b1~315 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c130ea1d8163c1ef7f4585acf6c91ca14b7cd303;p=thirdparty%2Fcups.git The rastertopwg filter did not check for truncated input (STR #4597) git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12609 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES-2.0.txt b/CHANGES-2.0.txt index a522c423d7..fd86d4592b 100644 --- a/CHANGES-2.0.txt +++ b/CHANGES-2.0.txt @@ -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) diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c index 12f77d66ff..569460bc06 100644 --- a/filter/rastertopwg.c +++ b/filter/rastertopwg.c @@ -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."));