glsl2: Don't forget to walk the parameters to a function in the hv.
authorEric Anholt <eric@anholt.net>
Wed, 7 Jul 2010 15:38:16 +0000 (08:38 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 7 Jul 2010 16:07:52 +0000 (09:07 -0700)
Fixes segfaults from use after free after the steal of ir nodes and
free of the compile context.

src/glsl/ir_hv_accept.cpp

index e772018a45890e2302f14ea22752e2c48aec263d..1a88c5943945a7e68990279e49bcd1d9307c5a40 100644 (file)
@@ -116,6 +116,10 @@ ir_function_signature::accept(ir_hierarchical_visitor *v)
    if (s != visit_continue)
       return (s == visit_continue_with_parent) ? visit_continue : s;
 
+   s = visit_list_elements(v, &this->parameters);
+   if (s == visit_stop)
+      return s;
+
    s = visit_list_elements(v, &this->body);
    return (s == visit_stop) ? s : v->visit_leave(this);
 }