Matteo Bruni : d3d8: Range-check GetPixelShaderConstant() indices to the d3d8 limit.
Alexandre Julliard
julliard at winehq.org
Fri Mar 6 16:38:41 CST 2020
Module: wine
Branch: master
Commit: 9d764892ee713a689402a515e5e723a6a5b94ab4
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9d764892ee713a689402a515e5e723a6a5b94ab4
Author: Matteo Bruni <mbruni at codeweavers.com>
Date: Fri Mar 6 12:33:15 2020 +0100
d3d8: Range-check GetPixelShaderConstant() indices to the d3d8 limit.
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/d3d8/d3d8_private.h | 1 +
dlls/d3d8/device.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index f67841b4b1..488035c7f8 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -40,6 +40,7 @@
#define D3DPRESENTFLAGS_MASK 0x00000fffu
#define D3D8_MAX_VERTEX_SHADER_CONSTANTF 256
+#define D3D8_MAX_PIXEL_SHADER_CONSTANTF 8
#define D3D8_MAX_STREAMS 16
#define D3DFMT_RESZ MAKEFOURCC('R','E','S','Z')
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 45b158314e..d6253a4a2b 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -3295,7 +3295,8 @@ static HRESULT WINAPI d3d8_device_GetPixelShaderConstant(IDirect3DDevice8 *iface
TRACE("iface %p, start_idx %u, constants %p, count %u.\n", iface, start_idx, constants, count);
- if (!constants || start_idx >= WINED3D_MAX_PS_CONSTS_F || count > WINED3D_MAX_PS_CONSTS_F - start_idx)
+ if (!constants || start_idx >= D3D8_MAX_PIXEL_SHADER_CONSTANTF
+ || count > D3D8_MAX_PIXEL_SHADER_CONSTANTF - start_idx)
return WINED3DERR_INVALIDCALL;
wined3d_mutex_lock();
More information about the wine-cvs
mailing list