[PATCH] advapi32: Use larger buffers for domain names.

Dmitry Timoshkov dmitry at baikal.ru
Wed Mar 28 20:52:48 CDT 2018


Otherwise GetComputerNameExW(ComputerNamePhysicalDnsDomain) and
GetComputerNameExW(ComputerNameDnsDomain) fail if the names don't
fit into MAX_COMPUTERNAME_LENGTH characters.

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

diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 95bfe09446..354db65929 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -771,9 +771,9 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
                     SID sid;
                     DWORD sid_subauthority[3];
                 } domain_sid;
-                WCHAR domain_name[MAX_COMPUTERNAME_LENGTH + 1];
-                WCHAR dns_domain_name[MAX_COMPUTERNAME_LENGTH + 1];
-                WCHAR dns_forest_name[MAX_COMPUTERNAME_LENGTH + 1];
+                WCHAR domain_name[256];
+                WCHAR dns_domain_name[256];
+                WCHAR dns_forest_name[256];
             } *xdi;
             struct
             {
@@ -785,7 +785,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
             xdi = heap_alloc_zero(sizeof(*xdi));
             if (!xdi) return STATUS_NO_MEMORY;
 
-            dwSize = MAX_COMPUTERNAME_LENGTH + 1;
+            dwSize = 256;
             if (GetComputerNameExW(ComputerNamePhysicalDnsDomain, xdi->domain_name, &dwSize))
             {
                 WCHAR *dot;
@@ -799,7 +799,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy(
                 TRACE("setting Name to %s\n", debugstr_w(xdi->info.Name.Buffer));
             }
 
-            dwSize = MAX_COMPUTERNAME_LENGTH + 1;
+            dwSize = 256;
             if (GetComputerNameExW(ComputerNameDnsDomain, xdi->dns_domain_name, &dwSize))
             {
                 xdi->info.DnsDomainName.Buffer = xdi->dns_domain_name;
-- 
2.16.2




More information about the wine-devel mailing list