glsl: Fix array out-of-bounds access by _slang_lookup_constant.
authorVinson Lee <vlee@vmware.com>
Thu, 10 Dec 2009 20:37:10 +0000 (12:37 -0800)
committerVinson Lee <vlee@vmware.com>
Thu, 10 Dec 2009 20:37:10 +0000 (12:37 -0800)
src/mesa/shader/slang/slang_simplify.c

index b8a21f6..539c6ff 100644 (file)
@@ -84,10 +84,11 @@ _slang_lookup_constant(const char *name)
    for (i = 0; info[i].Name; i++) {
       if (strcmp(info[i].Name, name) == 0) {
          /* found */
-         GLint value = -1;
-         _mesa_GetIntegerv(info[i].Token, &value);
-         ASSERT(value >= 0);  /* sanity check that glGetFloatv worked */
-         return value;
+         GLint values[4];
+         values[0] = -1;
+         _mesa_GetIntegerv(info[i].Token, values);
+         ASSERT(values[0] >= 0);  /* sanity check that glGetFloatv worked */
+         return values[0];
       }
    }
    return -1;