From 7e041a5e5569fdb339906eeb00e6706d562e228a Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Mon, 18 Jun 2018 16:37:16 -0400 Subject: [PATCH] Fix A6 crash bug in Epson 24-pin driver (Issue #5323) --- CHANGES.md | 1 + filter/rastertoepson.c | 7 ++++--- scheduler/org.cups.cups-lpd.plist | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 4fa1803cd1..e6a01557fc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ Changes in CUPS v2.3b6 - Localization update (Issue #5339) - Fixed a regression in the changes to ippValidateAttribute (Issue #5322, Issue #5330) +- Fixed a crash bug in the Epson dot matrix driver (Issue #5323) - The web interface did not list the IPP Everywhere "driver" (Issue #5338) - The scheduler did not report all of the supported job options and values (Issue #5340) diff --git a/filter/rastertoepson.c b/filter/rastertoepson.c index 73e8d06005..4522e6b480 100644 --- a/filter/rastertoepson.c +++ b/filter/rastertoepson.c @@ -1,10 +1,11 @@ /* * EPSON ESC/P and ESC/P2 filter for CUPS. * - * Copyright 2007-2015 by Apple Inc. + * Copyright 2007-2018 by Apple Inc. * Copyright 1993-2007 by Easy Software Products. * - * Licensed under Apache License v2.0. See the file "LICENSE" for more information. + * Licensed under Apache License v2.0. See the file "LICENSE" for more + * information. */ /* @@ -301,7 +302,7 @@ StartPage( if (DotBytes) { - if ((LineBuffers[0] = calloc((size_t)DotBytes, header->cupsWidth * (size_t)(Shingling + 1))) == NULL) + if ((LineBuffers[0] = calloc((size_t)DotBytes, (header->cupsWidth + 7) * (size_t)(Shingling + 1))) == NULL) { fputs("ERROR: Unable to allocate memory\n", stderr); exit(1); diff --git a/scheduler/org.cups.cups-lpd.plist b/scheduler/org.cups.cups-lpd.plist index 1be5987831..d92678ac19 100644 --- a/scheduler/org.cups.cups-lpd.plist +++ b/scheduler/org.cups.cups-lpd.plist @@ -29,7 +29,7 @@ UserName - _lp + lp inetdCompatibility Wait -- 2.47.2