From 6c72961d8fa1ab1543f1b3e2cc7d34ff6d254bf8 Mon Sep 17 00:00:00 2001 From: George Sapountzis Date: Fri, 23 May 2008 22:39:35 +0300 Subject: [PATCH] glx: fix memory corruption with r5g6b5 should cherry-pick to xserver-1.5 --- glx/glxscreens.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glx/glxscreens.c b/glx/glxscreens.c index 5859de0b1..cc7054a64 100644 --- a/glx/glxscreens.c +++ b/glx/glxscreens.c @@ -420,10 +420,13 @@ findFirstSet(unsigned int v) static void initGlxVisual(VisualPtr visual, __GLXconfig *config) { + int maxBits; + maxBits = max(config->redBits, max(config->greenBits, config->blueBits)); + config->visualID = visual->vid; visual->class = glxConvertToXVisualType(config->visualType); - visual->bitsPerRGBValue = config->redBits; - visual->ColormapEntries = 1 << config->redBits; + visual->bitsPerRGBValue = maxBits; + visual->ColormapEntries = 1 << maxBits; visual->nplanes = config->redBits + config->greenBits + config->blueBits; visual->redMask = config->redMask;