glsl2: Avoid null deref in scalar constant unop expressions.
diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp
index 541398a..98cbb6c 100644
--- a/src/glsl/ir_constant_expression.cpp
+++ b/src/glsl/ir_constant_expression.cpp
@@ -151,7 +151,12 @@
*/
unsigned c0_inc = op0_scalar ? 1 : 0;
unsigned c1_inc = op1_scalar ? 1 : 0;
- unsigned components = op[op1_scalar ? 0 : 1]->type->components();
+ unsigned components;
+ if (op1_scalar || !op[1]) {
+ components = op[0]->type->components();
+ } else {
+ components = op[1]->type->components();
+ }
switch (ir->operation) {
case ir_unop_logic_not: