From 349c0e1a14b8af152d1c3afd7fc009118dde3129 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt Date: Tue, 3 Mar 2020 18:51:17 +0100 Subject: [PATCH] gal/opengl: Fix shader link state check The old code caused a bool (size 1) to be overwritten by a GLint (size 4) causing undefined behaviour. Fixes https://gitlab.com/kicad/code/kicad/issues/3981 --- common/gal/opengl/shader.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/gal/opengl/shader.cpp b/common/gal/opengl/shader.cpp index d78379c36b..cc09465945 100644 --- a/common/gal/opengl/shader.cpp +++ b/common/gal/opengl/shader.cpp @@ -101,8 +101,9 @@ bool SHADER::Link() programInfo( programNumber ); // Check the Link state - glGetObjectParameterivARB( programNumber, GL_OBJECT_LINK_STATUS_ARB, - (GLint*) &isShaderLinked ); + GLint tmp; + glGetObjectParameterivARB( programNumber, GL_OBJECT_LINK_STATUS_ARB, &tmp ); + isShaderLinked = !!tmp; #ifdef DEBUG if( !isShaderLinked )