[PATCH 3/5] ddraw: Only check dwFlags if we actually have a D3DLIGHT2 structure in d3d_light_SetLight().

Henri Verbeet hverbeet at codeweavers.com
Sun Jan 13 15:08:07 CST 2013


---
 dlls/ddraw/light.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/ddraw/light.c b/dlls/ddraw/light.c
index ebc1410..1d81803 100644
--- a/dlls/ddraw/light.c
+++ b/dlls/ddraw/light.c
@@ -210,7 +210,7 @@ static HRESULT WINAPI d3d_light_SetLight(IDirect3DLight *iface, D3DLIGHT *data)
     /* Translate D3DLIGHT2 structure to D3DLIGHT7. */
     light7->dltType = data->dltType;
     light7->dcvDiffuse = data->dcvColor;
-    if (((D3DLIGHT2 *)data)->dwFlags & D3DLIGHT_NO_SPECULAR)
+    if (data->dwSize >= sizeof(D3DLIGHT2) && (((D3DLIGHT2 *)data)->dwFlags & D3DLIGHT_NO_SPECULAR))
         light7->dcvSpecular = data->dcvColor;
     else
         light7->dcvSpecular = *(const D3DCOLORVALUE *)zero_value;
-- 
1.7.12.4




More information about the wine-patches mailing list