diff --git a/randr/rrscreen.c b/randr/rrscreen.c index 630ff5742..0fee1f57c 100644 --- a/randr/rrscreen.c +++ b/randr/rrscreen.c @@ -921,6 +921,18 @@ ProcRRSetScreenConfig (ClientPtr client) width = mode->mode.height; height = mode->mode.width; } + + if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) { + client->errorValue = width; + free(pData); + return BadValue; + } + if (height < pScrPriv->minHeight || pScrPriv->maxHeight < height) { + client->errorValue = height; + free(pData); + return BadValue; + } + if (width != pScreen->width || height != pScreen->height) { int c;