diff --git a/cups/ppd.c b/cups/ppd.c index 14b76483e..c899a7ca2 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -1060,6 +1060,17 @@ _ppdOpen( goto error; } + if (!strcmp(coption->keyword, "PageSize") && + (((!strcmp(name, "Width") || !strcmp(name, "Height") || + !strcmp(name, "WidthOffset") || !strcmp(name, "HeightOffset")) && + cparam->type != PPD_CUSTOM_POINTS) || + (!strcmp(name, "Orientation") && cparam->type != PPD_CUSTOM_INT))) + { + pg->ppd_status = PPD_BAD_CUSTOM_PARAM; + + goto error; + } + /* * Now special-case for CustomPageSize... */