[KERNEL32] Fix SetComputerNameExW (#1583)

Based on @Doug-Lyons's patch. CORE-16058
This commit is contained in:
Katayama Hirofumi MZ 2019-05-27 16:18:38 +09:00 committed by GitHub
parent dbc20b6484
commit 2db0e159a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -592,6 +592,8 @@ WINAPI
SetComputerNameExW(COMPUTER_NAME_FORMAT NameType,
LPCWSTR lpBuffer)
{
BOOL ret1, ret2;
if (!IsValidComputerName(NameType, lpBuffer))
{
SetLastError(ERROR_INVALID_PARAMETER);
@ -607,11 +609,17 @@ SetComputerNameExW(COMPUTER_NAME_FORMAT NameType,
lpBuffer);
case ComputerNamePhysicalDnsHostname:
return SetComputerNameToRegistry(L"\\Registry\\Machine\\System\\CurrentControlSet"
ret1 = SetComputerNameToRegistry(L"\\Registry\\Machine\\System\\CurrentControlSet"
L"\\Services\\Tcpip\\Parameters",
L"Hostname",
L"NV Hostname",
lpBuffer);
ret2 = SetComputerNameToRegistry(L"\\Registry\\Machine\\System\\CurrentControlSet"
L"\\Control\\ComputerName\\ComputerName",
L"ComputerName",
lpBuffer);
return (ret1 && ret2);
case ComputerNamePhysicalNetBIOS:
return SetComputerNameToRegistry(L"\\Registry\\Machine\\System\\CurrentControlSet"
L"\\Control\\ComputerName\\ComputerName",