Andrew Nguyen : dxdiagn: Validate the dwDxDiagHeaderVersion member in IDxDiagProvider::Initialize.

Alexandre Julliard julliard at winehq.org
Tue Dec 22 09:59:00 CST 2009


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

Author: Andrew Nguyen <arethusa26 at gmail.com>
Date:   Tue Dec 22 04:15:18 2009 -0600

dxdiagn: Validate the dwDxDiagHeaderVersion member in IDxDiagProvider::Initialize.

---

 dlls/dxdiagn/provider.c       |    3 ++-
 dlls/dxdiagn/tests/provider.c |    1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c
index 1100940..6075c9d 100644
--- a/dlls/dxdiagn/provider.c
+++ b/dlls/dxdiagn/provider.c
@@ -96,7 +96,8 @@ static HRESULT WINAPI IDxDiagProviderImpl_Initialize(PDXDIAGPROVIDER iface, DXDI
     if (NULL == pParams) {
       return E_POINTER;
     }
-    if (pParams->dwSize != sizeof(DXDIAG_INIT_PARAMS)) {
+    if (pParams->dwSize != sizeof(DXDIAG_INIT_PARAMS) ||
+        pParams->dwDxDiagHeaderVersion != DXDIAG_DX9_SDK_VERSION) {
       return E_INVALIDARG;
     }
 
diff --git a/dlls/dxdiagn/tests/provider.c b/dlls/dxdiagn/tests/provider.c
index 52670c0..47732bc 100644
--- a/dlls/dxdiagn/tests/provider.c
+++ b/dlls/dxdiagn/tests/provider.c
@@ -61,7 +61,6 @@ static void test_Initialize(void)
     params.bAllowWHQLChecks = FALSE;
     params.pReserved = NULL;
     hr = IDxDiagProvider_Initialize(pddp, &params);
-    todo_wine
     ok(hr == E_INVALIDARG,
        "Expected IDxDiagProvider::Initialize to return E_INVALIDARG, got %x\n", hr);
 




More information about the wine-cvs mailing list