advapi32-LsaLookupSids: Returns STATUS_SUCCESS instead of STATUS_SOME_NOT_MAPPED when possible.

This commit is contained in:
Sebastian Lackner 2015-04-29 15:25:06 +02:00
parent 30cc97b72e
commit e390275c1d

View File

@ -1,14 +1,14 @@
From 9a19e77a0334f91e370e73099066484f20b24321 Mon Sep 17 00:00:00 2001
From 616c17cc58a4943d3a367704943e737d5713740d Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 7 Apr 2015 11:23:34 +0800
Subject: advapi32: Fallback to Sid string when LookupAccountSid fails.
---
dlls/advapi32/lsa.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
dlls/advapi32/lsa.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 258b8ca..2b2c6b6 100644
index 258b8ca..93afa20 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -29,6 +29,7 @@
@ -41,7 +41,7 @@ index 258b8ca..2b2c6b6 100644
}
/* now we have full length needed for both */
@@ -593,6 +609,20 @@ NTSTATUS WINAPI LsaLookupSids(
@@ -593,6 +609,21 @@ NTSTATUS WINAPI LsaLookupSids(
heap_free(domain.Buffer);
}
}
@ -52,6 +52,7 @@ index 258b8ca..2b2c6b6 100644
+ if (ConvertSidToStringSidW(Sids[i], &strsid))
+ {
+ name_size = strlenW(strsid) + 1;
+ mapped++;
+
+ (*Names)[i].Name.Buffer = name_buffer;
+ memcpy((*Names)[i].Name.Buffer, strsid, name_size * sizeof(WCHAR));