From: Rose <83477269+AtariDreams@users.noreply.github.com> Date: Fri, 20 Jan 2023 19:07:46 +0000 (-0500) Subject: Check inheader before checking color space X-Git-Tag: v2.4.3~66^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F595%2Fhead;p=thirdparty%2Fcups.git Check inheader before checking color space --- 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;