Paul Bryan Roberts : advapi32: LookupAccountNameW() - NULL account name handled.

Alexandre Julliard julliard at winehq.org
Tue Oct 21 07:07:04 CDT 2008


Module: wine
Branch: master
Commit: 0e6626958f441eaee1bbfaf250a5b30988429a39
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0e6626958f441eaee1bbfaf250a5b30988429a39

Author: Paul Bryan Roberts <pbronline-wine at yahoo.co.uk>
Date:   Sat Oct 18 21:40:21 2008 +0100

advapi32: LookupAccountNameW() - NULL account name handled.

---

 dlls/advapi32/security.c       |    5 +++++
 dlls/advapi32/tests/security.c |   13 +++++--------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index fcb048b..a33d6ec 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -2532,6 +2532,11 @@ BOOL WINAPI LookupAccountNameW( LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSI
     FIXME("%s %s %p %p %p %p %p - stub\n", debugstr_w(lpSystemName), debugstr_w(lpAccountName),
           Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse);
 
+    if (!lpAccountName || !strcmpW(lpAccountName, Blank))
+    {
+        lpAccountName = BUILTIN;
+    }
+
     for (i = 0; i < (sizeof(ACCOUNT_SIDS) / sizeof(ACCOUNT_SIDS[0])); i++)
     {
         if (!strcmpW(lpAccountName, ACCOUNT_SIDS[i].account))
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 4e9e7ef..b6756f5 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -1632,14 +1632,11 @@ static void test_LookupAccountName(void)
     ret = LookupAccountNameA(NULL, NULL, psid, &sid_size, domain, &domain_size, &sid_use);
     get_sid_info(psid, &account, &sid_dom);
     ok(ret, "Failed to lookup account name\n");
-    todo_wine
-    {
-        /* Using a fixed string will not work on different locales */
-        ok(!lstrcmp(account, domain),
-           "Got %s for account and %s for domain, these should be the same\n",
-           account, domain);
-        ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use);
-    }
+    /* Using a fixed string will not work on different locales */
+    ok(!lstrcmp(account, domain),
+       "Got %s for account and %s for domain, these should be the same\n",
+       account, domain);
+    ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use);
 
     /* try an invalid account name */
     SetLastError(0xdeadbeef);




More information about the wine-cvs mailing list