Mesa (7.10): linker: Fix off-by-one error implicit array sizing

Ian Romanick idr at kemper.freedesktop.org
Mon Feb 28 16:01:37 PST 2011


Module: Mesa
Branch: 7.10
Commit: 52a274a4c04dba4354e2e84a4faceb994de646cf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52a274a4c04dba4354e2e84a4faceb994de646cf

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Feb 15 18:17:53 2011 -0800

linker: Fix off-by-one error implicit array sizing

Arrays are zero based.  If the highest element accessed is 6, the
array needs to have 7 elements.

Fixes piglit test glsl-fs-implicit-array-size-03 and bugzilla #34198.

NOTE: This is a candidate for the 7.9 and 7.10 branches.
(cherry picked from commit 25b36e8ff81a9c951085d6dd802a7534db476f5a)

---

 src/glsl/linker.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 09eaa72..f8d8eae 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -899,7 +899,7 @@ link_intrastage_shaders(void *mem_ctx,
 	    if (var->type->is_array() && (var->type->length == 0)) {
 	       const glsl_type *type =
 		  glsl_type::get_array_instance(var->type->fields.array,
-						var->max_array_access);
+						var->max_array_access + 1);
 
 	       assert(type != NULL);
 	       var->type = type;



More information about the mesa-commit mailing list