Mesa (master): mesa: Add assert to check number of vector elements
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Wed Jan 21 14:06:28 UTC 2015
Module: Mesa
Branch: master
Commit: 3c3e60e050ea0850fcfeb5c4c2aa4f954d54d665
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c3e60e050ea0850fcfeb5c4c2aa4f954d54d665
Author: Jan Vesely <jan.vesely at rutgers.edu>
Date: Wed Jan 14 16:12:06 2015 -0500
mesa: Add assert to check number of vector elements
The below code crashes when vector_elements <= 0
Fixes Warray-bounds warnings
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
---
src/mesa/program/ir_to_mesa.cpp | 1 +
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index ce3af31..038f66b 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -1449,6 +1449,7 @@ ir_to_mesa_visitor::visit(ir_swizzle *ir)
ir->val->accept(this);
src = this->result;
assert(src.file != PROGRAM_UNDEFINED);
+ assert(ir->type->vector_elements > 0);
for (i = 0; i < 4; i++) {
if (i < ir->type->vector_elements) {
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 98ab2c1..2ed7a3b 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -2051,6 +2051,7 @@ glsl_to_tgsi_visitor::visit(ir_swizzle *ir)
ir->val->accept(this);
src = this->result;
assert(src.file != PROGRAM_UNDEFINED);
+ assert(ir->type->vector_elements > 0);
for (i = 0; i < 4; i++) {
if (i < ir->type->vector_elements) {
More information about the mesa-commit
mailing list