From dfa186bcbfe7e5c5e30ae182833d53f1d0b3a994 Mon Sep 17 00:00:00 2001 From: Rose <83477269+AtariDreams@users.noreply.github.com> Date: Fri, 20 Jan 2023 14:07:46 -0500 Subject: [PATCH] Check inheader before checking color space --- filter/rastertopwg.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c index 6e0ccf2312..81c25ba9aa 100644 --- a/filter/rastertopwg.c +++ b/filter/rastertopwg.c @@ -152,6 +152,23 @@ main(int argc, /* I - Number of command-line args */ return (1); } + if (inheader.cupsColorOrder != CUPS_ORDER_CHUNKED) + { + _cupsLangPrintFilter(stderr, "ERROR", _("Unsupported raster data.")); + fprintf(stderr, "DEBUG: Unsupported cupsColorOrder %d on page %d.\n", + inheader.cupsColorOrder, page); + return (1); + } + + if (inheader.cupsBitsPerPixel != 1 && + inheader.cupsBitsPerColor != 8 && inheader.cupsBitsPerColor != 16) + { + _cupsLangPrintFilter(stderr, "ERROR", _("Unsupported raster data.")); + fprintf(stderr, "DEBUG: Unsupported cupsBitsPerColor %d on page %d.\n", + inheader.cupsBitsPerColor, page); + return (1); + } + switch (inheader.cupsColorSpace) { case CUPS_CSPACE_W : @@ -189,23 +206,6 @@ main(int argc, /* I - Number of command-line args */ return (1); } - if (inheader.cupsColorOrder != CUPS_ORDER_CHUNKED) - { - _cupsLangPrintFilter(stderr, "ERROR", _("Unsupported raster data.")); - fprintf(stderr, "DEBUG: Unsupported cupsColorOrder %d on page %d.\n", - inheader.cupsColorOrder, page); - return (1); - } - - if (inheader.cupsBitsPerPixel != 1 && - inheader.cupsBitsPerColor != 8 && inheader.cupsBitsPerColor != 16) - { - _cupsLangPrintFilter(stderr, "ERROR", _("Unsupported raster data.")); - fprintf(stderr, "DEBUG: Unsupported cupsBitsPerColor %d on page %d.\n", - inheader.cupsBitsPerColor, page); - return (1); - } - memcpy(&outheader, &inheader, sizeof(outheader)); outheader.cupsWidth = page_width; outheader.cupsHeight = page_height; -- 2.47.2