Alistair Leslie-Hughes : msxml3: Correct MSXML object safety tests.
Alexandre Julliard
julliard at winehq.org
Tue Sep 6 11:35:53 CDT 2011
Module: wine
Branch: master
Commit: 33736bb871f503f0163699e657987681384942e5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=33736bb871f503f0163699e657987681384942e5
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Tue Aug 30 22:27:02 2011 +1000
msxml3: Correct MSXML object safety tests.
---
dlls/msxml3/domdoc.c | 3 ++-
dlls/msxml3/httprequest.c | 3 ++-
dlls/msxml3/tests/domdoc.c | 21 +++++++++++----------
3 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 2b2416d..d4fcc1c 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -3430,7 +3430,8 @@ static HRESULT WINAPI domdoc_Safety_SetInterfaceSafetyOptions(IObjectSafety *ifa
if ((mask & ~SAFETY_SUPPORTED_OPTIONS) != 0)
return E_FAIL;
- This->safeopt = enabled & mask & SAFETY_SUPPORTED_OPTIONS;
+ This->safeopt = (This->safeopt & ~mask) | (mask & enabled);
+
return S_OK;
}
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 436380c..8203129 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -1131,7 +1131,8 @@ static HRESULT WINAPI httprequest_Safety_SetInterfaceSafetyOptions(IObjectSafety
if ((mask & ~SAFETY_SUPPORTED_OPTIONS) != 0)
return E_FAIL;
- This->safeopt = enabled & mask & SAFETY_SUPPORTED_OPTIONS;
+ This->safeopt = (This->safeopt & ~mask) | (mask & enabled);
+
return S_OK;
}
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 2c3de42..42b3b05 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -4457,11 +4457,11 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety)
ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
- todo_wine
- ok_(__FILE__,line)(broken(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER) ||
- enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
- "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACE_USES_SECURITY_MANAGER), "
- "got %08x\n", enabled);
+ ok_(__FILE__,line)(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER, "Expected INTERFACESAFE_FOR_UNTRUSTED_CALLER got %08x\n", enabled);
+ ok_(__FILE__,line)(broken(supported == INTERFACESAFE_FOR_UNTRUSTED_CALLER) ||
+ supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
+ "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), "
+ "got %08x\n", supported);
hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL,
INTERFACESAFE_FOR_UNTRUSTED_DATA,
@@ -4469,11 +4469,12 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety)
ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
- todo_wine
- ok_(__FILE__,line)(broken(enabled == INTERFACESAFE_FOR_UNTRUSTED_DATA) ||
- enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA) /* msxml3 SP8+ */,
- "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA), "
- "got %08x\n", enabled);
+ ok_(__FILE__,line)(enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA),
+ "expected INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA got %08x\n", enabled);
+ ok_(__FILE__,line)(broken(supported == INTERFACESAFE_FOR_UNTRUSTED_DATA) ||
+ supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
+ "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), "
+ "got %08x\n", supported);
}
static void test_XMLHTTP(void)
More information about the wine-cvs
mailing list