On 04/04/2014 03:28 AM, Juha-Pekka Heikkila wrote: > Check return value from hash_table_find before using it as a pointer > > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com> > --- > src/glsl/loop_analysis.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/glsl/loop_analysis.cpp b/src/glsl/loop_analysis.cpp > index d6a9ac7..5e4eaa1 100644 > --- a/src/glsl/loop_analysis.cpp > +++ b/src/glsl/loop_analysis.cpp > @@ -589,7 +589,7 @@ get_basic_induction_increment(ir_assignment *ir, > hash_table *var_hash) > loop_variable *lv = > (loop_variable *) hash_table_find(var_hash, inc_var); > > - if (!lv->is_loop_constant()) > + if (lv == NULL || !lv->is_loop_constant())
I think this case is more catastrophic than that. This means we've encountered a variable inside a loop, but that variable isn't in the table of variables used inside the loop. Just putting a NULL check here will make it more difficult to find a real bug, should one exist. I think I'd also want an assert(lv != NULL) inside the if block. > inc = NULL; > } else > inc = NULL; _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev