[PATCH] urlmon: Avoid test failure on IE10 [try 2]

Detlef Riekenberg wine.dev at web.de
Thu Jun 20 10:21:23 CDT 2013


Calling IInternetZoneManager_GetZoneAttributes with an invalid zone
returns E_POINTER on IE10, S_OK on IE8/IE9 and E_FAIL upto IE7.

That's not usable for an ok().

--
By by ... Detlef
---
 dlls/urlmon/sec_mgr.c       |    2 +-
 dlls/urlmon/tests/sec_mgr.c |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/urlmon/sec_mgr.c b/dlls/urlmon/sec_mgr.c
index 477f89e..1b6c075 100644
--- a/dlls/urlmon/sec_mgr.c
+++ b/dlls/urlmon/sec_mgr.c
@@ -1419,7 +1419,7 @@ static HRESULT WINAPI ZoneMgrImpl_GetZoneAttributes(IInternetZoneManagerEx2* ifa
 
     hr = open_zone_key(HKEY_CURRENT_USER, dwZone, &hcu);
     if (FAILED(hr))
-        return S_OK;  /* IE6 and older returned E_FAIL here */
+        return E_POINTER;
 
     hr = open_zone_key(HKEY_LOCAL_MACHINE, dwZone, &hklm);
     if (FAILED(hr))
diff --git a/dlls/urlmon/tests/sec_mgr.c b/dlls/urlmon/tests/sec_mgr.c
index d0e89ce..c2931bf 100644
--- a/dlls/urlmon/tests/sec_mgr.c
+++ b/dlls/urlmon/tests/sec_mgr.c
@@ -1213,11 +1213,11 @@ static void test_GetZoneAttributes(void)
     ok((pZA->cbSize == 0xffffffff) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
         "got cbSize = 0x%x (expected 0xffffffff)\n", pZA->cbSize);
 
-    /* IE8 no longer fail on invalid zones */
+    /* invalid zones return E_POINTER on IE10, S_OK on IE8/IE9 and E_FAIL upto IE7 */
     memset(buffer, -1, sizeof(buffer));
     hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0xdeadbeef, pZA);
-    ok(hr == S_OK || (hr == E_FAIL),
-        "got 0x%x (expected S_OK or E_FAIL)\n", hr);
+    if (hr != E_POINTER)
+        trace("got 0x%x for an invalid zone\n", hr);
 
     hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, NULL);
     ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr);
-- 
1.7.5.4




More information about the wine-patches mailing list