Module: wine Branch: refs/heads/master Commit: ce58c3589ca98cfaeafb5f2b5e8902732483b315 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ce58c3589ca98cfaeafb5f2b...
Author: James Hawkins truiken@gmail.com Date: Wed Jul 5 19:53:52 2006 -0700
advapi32: Add tests for LookupAccountSid.
---
dlls/advapi32/security.c | 12 ++++++------ dlls/advapi32/tests/security.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c index 0644f15..0a78668 100644 --- a/dlls/advapi32/security.c +++ b/dlls/advapi32/security.c @@ -1485,15 +1485,15 @@ LookupAccountSidA( domain,domainSize,domainSize?*domainSize:0, name_use);
- if (accountSize) *accountSize = strlen(ac)+1; + *accountSize = strlen(ac)+1; if (account && (*accountSize > strlen(ac))) strcpy(account, ac);
- if (domainSize) *domainSize = strlen(dm)+1; + *domainSize = strlen(dm)+1; if (domain && (*domainSize > strlen(dm))) strcpy(domain,dm);
- if (name_use) *name_use = SidTypeUser; + *name_use = SidTypeUser; return TRUE; }
@@ -1527,15 +1527,15 @@ LookupAccountSidW( domain,domainSize,domainSize?*domainSize:0, name_use);
- if (accountSize) *accountSize = strlenW(ac)+1; + *accountSize = strlenW(ac)+1; if (account && (*accountSize > strlenW(ac))) strcpyW(account, ac);
- if (domainSize) *domainSize = strlenW(dm)+1; + *domainSize = strlenW(dm)+1; if (domain && (*domainSize > strlenW(dm))) strcpyW(domain,dm);
- if (name_use) *name_use = SidTypeUser; + *name_use = SidTypeUser; return TRUE; }
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index fe573ea..7c800b9 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -772,6 +772,34 @@ static void test_token_attr(void) } }
+static void test_LookupAccountSid(void) +{ + SID_IDENTIFIER_AUTHORITY SIDAuthNT = { SECURITY_NT_AUTHORITY }; + char account[MAX_PATH], domain[MAX_PATH]; + DWORD acc_size, dom_size; + PSID pUsersSid = NULL; + SID_NAME_USE use; + BOOL ret; + + /* native windows crashes if account size, domain size, or name use is NULL */ + + ret = AllocateAndInitializeSid(&SIDAuthNT, 2, SECURITY_BUILTIN_DOMAIN_RID, + DOMAIN_ALIAS_RID_USERS, 0, 0, 0, 0, 0, 0, &pUsersSid); + ok(ret, "AllocateAndInitializeSid failed with error %ld\n", GetLastError()); + + /* try NULL account */ + acc_size = MAX_PATH; + dom_size = MAX_PATH; + ret = LookupAccountSid(NULL, pUsersSid, NULL, &acc_size, domain, &dom_size, &use); + ok(ret, "Expected TRUE, got FALSE\n"); + + /* try NULL domain */ + acc_size = MAX_PATH; + dom_size = MAX_PATH; + ret = LookupAccountSid(NULL, pUsersSid, account, &acc_size, NULL, &dom_size, &use); + ok(ret, "Expected TRUE, got FALSE\n"); +} + START_TEST(security) { init(); @@ -782,4 +810,5 @@ START_TEST(security) test_FileSecurity(); test_AccessCheck(); test_token_attr(); + test_LookupAccountSid(); }