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