Mesa (glsl2): glsl2: Avoid null deref in scalar constant unop expressions.
Eric Anholt
anholt at kemper.freedesktop.org
Wed Jul 7 16:16:43 UTC 2010
Module: Mesa
Branch: glsl2
Commit: 570dc0d4004bf09d257b3e4c8664d3c26a8af510
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=570dc0d4004bf09d257b3e4c8664d3c26a8af510
Author: Eric Anholt <eric at anholt.net>
Date: Wed Jul 7 09:07:09 2010 -0700
glsl2: Avoid null deref in scalar constant unop expressions.
---
src/glsl/ir_constant_expression.cpp | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
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 @@ ir_constant_visitor::visit(ir_expression *ir)
*/
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:
More information about the mesa-commit
mailing list