From 23a7aebae0a742d94ffe2304357dcc1234a99155 Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 8 Sep 2011 10:54:11 +0200 Subject: mesa git update 8 sep 2011 --- mesalib/src/glsl/ir_reader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'mesalib/src/glsl') diff --git a/mesalib/src/glsl/ir_reader.cpp b/mesalib/src/glsl/ir_reader.cpp index 22009eebc..2d0bccb78 100644 --- a/mesalib/src/glsl/ir_reader.cpp +++ b/mesalib/src/glsl/ir_reader.cpp @@ -777,7 +777,7 @@ ir_reader::read_constant(s_expression *expr) ir_constant_data data = { { 0 } }; // Read in list of values (at most 16). - int k = 0; + unsigned k = 0; foreach_iter(exec_list_iterator, it, values->subexpressions) { if (k >= 16) { ir_read_error(values, "expected at most 16 numbers"); @@ -820,6 +820,11 @@ ir_reader::read_constant(s_expression *expr) } ++k; } + if (k != type->components()) { + ir_read_error(values, "expected %u constant values, found %u", + type->components(), k); + return NULL; + } return new(mem_ctx) ir_constant(type, &data); } -- cgit v1.2.3