[PATCH 3/4] advapi32: Skip token attribute testing if OpenProcessToken() is not implemented.

Saulius Krasuckas saulius2 at ar.fi.lt
Sun May 21 15:27:02 CDT 2006


This avoids crash on WinME.
---

 dlls/advapi32/tests/security.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

1d2de521f92704dc7f01d0f982cdf0f1a949510c
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index cf9fa0c..d0facc8 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -703,11 +703,18 @@ static void test_token_attr(void)
     TOKEN_GROUPS *Groups;
     TOKEN_USER *User;
     BOOL ret;
-    DWORD i;
+    DWORD i, GLE;
     LPTSTR SidString;
 
     ret = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &Token);
-    ok(ret, "OpenProcessToken failed with error %ld\n", GetLastError());
+    GLE = GetLastError();
+    ok(ret || (GLE == ERROR_CALL_NOT_IMPLEMENTED), 
+        "OpenProcessToken failed with error %ld\n", GLE);
+    if(!ret && (GLE == ERROR_CALL_NOT_IMPLEMENTED))
+    {
+        trace("OpenProcessToken() not implemented, skipping test_token_attr()\n");
+        return;
+    }
 
     /* groups */
     ret = GetTokenInformation(Token, TokenGroups, NULL, 0, &Size);
-- 
1.3.2



More information about the wine-patches mailing list