blob: cd0c74a856e218c6f33783c53d444a33445961e2 [file] [log] [blame]
From 5f9e4b3102c688b7830de8ec0b49267d9292e67f 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] 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 1b87c5860b..267ad68edf 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.12.2