diff options
author | Vinson Lee <[email protected]> | 2009-12-10 12:37:10 -0800 |
---|---|---|
committer | Vinson Lee <[email protected]> | 2009-12-10 12:37:10 -0800 |
commit | 51f52edaf186a927a2c8c29ba9dba56d18928a7e (patch) | |
tree | 859346b85a3b87bbdfba1e264fbc2548efdebc42 /src/mesa | |
parent | dcb4a37fc89924192d923ed6906d2922371b8cb1 (diff) |
glsl: Fix array out-of-bounds access by _slang_lookup_constant.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/shader/slang/slang_simplify.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/slang_simplify.c b/src/mesa/shader/slang/slang_simplify.c index b8a21f642cb..539c6ff0d14 100644 --- a/src/mesa/shader/slang/slang_simplify.c +++ b/src/mesa/shader/slang/slang_simplify.c @@ -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; |