summaryrefslogtreecommitdiff
authorStéphane Marchesin <marcheu@chromium.org>2012-08-15 00:15:54 (GMT)
committer Stéphane Marchesin <marcheu@chromium.org>2012-08-23 18:42:19 (GMT)
commitff996cafce511dd8a6c4e066e409c23e147a670c (patch) (side-by-side diff)
treecaa16dc434175df70044c999c0b77c37f1a78414
parent9b028faeaa2c4b0ca2e86892aac70a2f2b872fbb (diff)
downloadmesa-ff996cafce511dd8a6c4e066e409c23e147a670c.zip
mesa-ff996cafce511dd8a6c4e066e409c23e147a670c.tar.gz
glsl/linker: Avoid buffer over-run in parcel_out_uniform_storage::visit_field
When too may uniforms are used, the error will be caught in check_resources (src/glsl/linker.cpp). NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Benoit Jacob <bjacob@mozilla.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/glsl/link_uniforms.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 25dc1d7..eef9025 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -313,7 +313,7 @@ private:
const gl_texture_index target = base_type->sampler_index();
const unsigned shadow = base_type->sampler_shadow;
for (unsigned i = this->uniforms[id].sampler
- ; i < this->next_sampler
+ ; i < MIN2(this->next_sampler, MAX_SAMPLERS)
; i++) {
this->targets[i] = target;
this->shader_samplers_used |= 1U << i;