diff options
-rw-r--r-- | CHANGES.txt | 3 | ||||
-rw-r--r-- | filter/rastertopwg.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index b35b9af78..4be9f3fd1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -CHANGES.txt - 2.2.2 - 2017-01-16 +CHANGES.txt - 2.2.2 - 2017-01-17 -------------------------------- CHANGES IN CUPS V2.2.2 @@ -7,6 +7,7 @@ CHANGES IN CUPS V2.2.2 - Fixed some issues with IPP Everywhere printer support (Issue #4893, Issue #4909, Issue #4916, Issue #4921, Issue #4923, Issue #4932, Issue #4933, Issue #4938) + - The rastertopwg filter could crash with certain input (Issue #4942) - Optimized connection usage in the IPP backend (<rdar://problem/29547323>) - The scheduler did not detect when an encrypted connection was closed diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c index 5026f5654..5413df04c 100644 --- a/filter/rastertopwg.c +++ b/filter/rastertopwg.c @@ -1,7 +1,7 @@ /* * CUPS raster to PWG raster format filter for CUPS. * - * Copyright 2011, 2014-2016 Apple Inc. + * Copyright 2011, 2014-2017 Apple Inc. * * These coded instructions, statements, and computer programs are the * property of Apple Inc. and are protected by Federal copyright law. @@ -435,6 +435,9 @@ main(int argc, /* I - Number of command-line args */ if (linesize < inheader.cupsBytesPerLine) linesize = inheader.cupsBytesPerLine; + if ((lineoffset + inheader.cupsBytesPerLine) > linesize) + lineoffset = linesize - inheader.cupsBytesPerLine; + line = malloc(linesize); memset(line, white, linesize); |