From 44b913275b60fa4e95d76c2918426d7f7d70752a Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Fri, 3 Jul 2015 23:40:57 +0200 Subject: nx-X11: Backport: randr: check for virtual size limits before set crtc Return a error if the screen is configured to an invalid size. Signed-off-by: Tiago Vignatti Reviewed-by: Adam Jackson Reviewed-by: Daniel Stone Signed-off-by: Keith Packard Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- ...r-check-for-virtual-size-limits-befo.full.patch | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch (limited to 'debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch') diff --git a/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch b/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch new file mode 100644 index 000000000..d89432cef --- /dev/null +++ b/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch @@ -0,0 +1,41 @@ +commit da678db0ef57c45f1bbe1c0e8f14da70746ed2cd +Author: Tiago Vignatti +Date: Fri Dec 17 16:09:35 2010 +0200 + + Backport: randr: check for virtual size limits before set crtc + + Return a error if the screen is configured to an invalid size. + + Signed-off-by: Tiago Vignatti + Reviewed-by: Adam Jackson + Reviewed-by: Daniel Stone + Signed-off-by: Keith Packard + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index 9b3935e..9bea97b 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -938,6 +938,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; -- cgit v1.2.3