Henri Verbeet : wined3d: Validate ps 1.x sampler indices in shader_get_registers_used().

Alexandre Julliard julliard at winehq.org
Tue Feb 21 16:56:12 CST 2017


Module: wine
Branch: master
Commit: ef15e09d3d15f9c2109ced819ee27396b56c1676
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ef15e09d3d15f9c2109ced819ee27396b56c1676

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Tue Feb 21 00:40:08 2017 +0100

wined3d: Validate ps 1.x sampler indices in shader_get_registers_used().

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/shader.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index 0bf8e26..519d029 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -1271,6 +1271,12 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
                 {
                     unsigned int reg_idx = ins.dst[i].reg.idx[0].offset;
 
+                    if (reg_idx >= ARRAY_SIZE(reg_maps->resource_info))
+                    {
+                        WARN("Invalid 1.x sampler index %u.\n", reg_idx);
+                        continue;
+                    }
+
                     TRACE("Setting fake 2D resource for 1.x pixelshader.\n");
                     reg_maps->resource_info[reg_idx].type = WINED3D_SHADER_RESOURCE_TEXTURE_2D;
                     reg_maps->resource_info[reg_idx].data_type = WINED3D_DATA_FLOAT;




More information about the wine-cvs mailing list