[PATCH 2/4] advapi32: Return correct short domain name.

Dmitry Timoshkov dmitry at baikal.ru
Fri Mar 2 04:45:00 CST 2018


Also remove suffix and uppercase the returned name as Windows does.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/advapi32/lsa.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index f2fcc0701b..ca357688fc 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -786,11 +786,16 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
             if (!xdi) return STATUS_NO_MEMORY;
 
             dwSize = MAX_COMPUTERNAME_LENGTH + 1;
-            if (GetComputerNameW(xdi->domain_name, &dwSize))
+            if (GetComputerNameExW(ComputerNamePhysicalDnsDomain, xdi->domain_name, &dwSize))
             {
+                WCHAR *dot;
+
+                dot = strrchrW(xdi->domain_name, '.');
+                if (dot) *dot = 0;
+                struprW(xdi->domain_name);
                 xdi->info.Name.Buffer = xdi->domain_name;
-                xdi->info.Name.Length = dwSize * sizeof(WCHAR);
-                xdi->info.Name.MaximumLength = (dwSize + 1) * sizeof(WCHAR);
+                xdi->info.Name.Length = strlenW(xdi->domain_name) * sizeof(WCHAR);
+                xdi->info.Name.MaximumLength = xdi->info.Name.Length + sizeof(WCHAR);
                 TRACE("setting Name to %s\n", debugstr_w(xdi->info.Name.Buffer));
             }
 
-- 
2.16.2




More information about the wine-devel mailing list