| 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 |
| |