From: Brian Date: Thu, 18 Jan 2007 01:21:00 +0000 (-0700) Subject: do bounds check in _slang_push_var_table(), added comment X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=272622a2e016c2e378efd64f22b5e37e342a1f48;p=mesa.git do bounds check in _slang_push_var_table(), added comment --- diff --git a/src/mesa/shader/slang/slang_vartable.c b/src/mesa/shader/slang/slang_vartable.c index f9121f740b2..6d2b4369d94 100644 --- a/src/mesa/shader/slang/slang_vartable.c +++ b/src/mesa/shader/slang/slang_vartable.c @@ -32,6 +32,8 @@ struct slang_var_table_ /** * Create new table, put at head, return ptr to it. + * XXX we should take a maxTemps parameter to indicate how many temporaries + * are available for the current shader/program target. */ slang_var_table * _slang_push_var_table(slang_var_table *parent) @@ -139,7 +141,7 @@ alloc_reg(slang_var_table *t, GLint size, GLboolean isTemp) for (i = 0; i < MAX_PROGRAM_TEMPS; i++) { GLuint found = 0; for (j = 0; j < sz4; j++) { - if (!t->temps[i + j]) { + if (i + j < MAX_PROGRAM_TEMPS && !t->temps[i + j]) { found++; } else {