From a61ca6f006d70343c88fe45206fae0669d1e8971 Mon Sep 17 00:00:00 2001 From: Tomasz Borowik Date: Thu, 3 Jul 2014 13:04:44 -0700 Subject: [PATCH] glamor: Fix stack corruption in glamor_init glGet on GL_MAX_VIEWPORT_DIMS returns two values Reviewed-by: Markus Wick Signed-off-by: Keith Packard --- glamor/glamor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/glamor/glamor.c b/glamor/glamor.c index c398807f1..358890375 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -316,7 +316,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) { glamor_screen_private *glamor_priv; int gl_version; - int max_viewport_size; + int max_viewport_size[2]; #ifdef RENDER PictureScreenPtr ps = GetPictureScreenIfSet(screen); @@ -408,8 +408,9 @@ glamor_init(ScreenPtr screen, unsigned int flags) glamor_priv->has_buffer_storage = epoxy_has_gl_extension("GL_ARB_buffer_storage"); glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glamor_priv->max_fbo_size); - glGetIntegerv(GL_MAX_VIEWPORT_DIMS, &max_viewport_size); - glamor_priv->max_fbo_size = MIN(glamor_priv->max_fbo_size, max_viewport_size); + glGetIntegerv(GL_MAX_VIEWPORT_DIMS, max_viewport_size); + glamor_priv->max_fbo_size = MIN(glamor_priv->max_fbo_size, max_viewport_size[0]); + glamor_priv->max_fbo_size = MIN(glamor_priv->max_fbo_size, max_viewport_size[1]); #ifdef MAX_FBO_SIZE glamor_priv->max_fbo_size = MAX_FBO_SIZE; #endif