glsl: fix crash in loop analysis when some controls can't be determined
authorAras Pranckevicius <aras@unity3d.com>
Thu, 30 Sep 2010 09:47:31 +0000 (12:47 +0300)
committerEric Anholt <eric@anholt.net>
Thu, 11 Nov 2010 18:49:37 +0000 (10:49 -0800)
Fixes loop-07.frag.

src/glsl/loop_controls.cpp

index 2ef3d305254d0985d5ccb51c5a6b2f41e74b5268..b528810f40d928a41b1e29688e6e04874b7f20a2 100644 (file)
@@ -85,6 +85,9 @@ int
 calculate_iterations(ir_rvalue *from, ir_rvalue *to, ir_rvalue *increment,
                     enum ir_expression_operation op)
 {
+   if (from == NULL || to == NULL || increment == NULL)
+      return -1;
+
    void *mem_ctx = talloc_init("%s", __func__);
 
    ir_expression *const sub =