blob: 21179181b3f2e37adeacbf342cbe0615b89cc069 [file] [log] [blame]
From 4a87b3221cabe0ae76ac0ed017bbc7e86a88a90e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Marchesin?= <marcheu@chromium.org>
Date: Mon, 7 Mar 2016 18:25:25 -0800
Subject: [PATCH 05/39] CHROMIUM: glsl: Avoid crash when overflowing the
samplers array
Fixes a crash when we have too many samplers.
BUG=chromium:141901
TEST=by hand
Signed-off-by: Prince Agyeman <prince.agyeman@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: James Ausmus <james.ausmus@intel.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
---
src/compiler/glsl/link_uniforms.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/compiler/glsl/link_uniforms.cpp b/src/compiler/glsl/link_uniforms.cpp
index 1b87c58..267ad68 100644
--- a/src/compiler/glsl/link_uniforms.cpp
+++ b/src/compiler/glsl/link_uniforms.cpp
@@ -625,6 +625,9 @@ private:
this->record_next_sampler))
return;
+ /* Avoid overflowing the sampler array. (crbug.com/141901) */
+ this->next_sampler = MIN2(this->next_sampler, MAX_SAMPLERS);
+
for (unsigned i = uniform->opaque[shader_type].index;
i < MIN2(this->next_sampler, MAX_SAMPLERS);
i++) {
--
2.7.4