James Hawkins : advapi32: Add tests for LookupAccountSid.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 7 07:56:01 CDT 2006


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

Author: James Hawkins <truiken at 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();
 }




More information about the wine-cvs mailing list