kernel32: Fix out of bounds access in DnsHostnameToComputerName[AW].
This commit is contained in:
parent
2ef27a2322
commit
bbd71d6b72
|
@ -688,7 +688,7 @@ BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR hostname,
|
||||||
if (len > MAX_COMPUTERNAME_LENGTH)
|
if (len > MAX_COMPUTERNAME_LENGTH)
|
||||||
len = MAX_COMPUTERNAME_LENGTH;
|
len = MAX_COMPUTERNAME_LENGTH;
|
||||||
|
|
||||||
if (*size < len)
|
if (*size < len + 1)
|
||||||
{
|
{
|
||||||
*size = len;
|
*size = len;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -696,7 +696,7 @@ BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR hostname,
|
||||||
if (!computername) return FALSE;
|
if (!computername) return FALSE;
|
||||||
|
|
||||||
memcpy( computername, hostname, len );
|
memcpy( computername, hostname, len );
|
||||||
computername[len + 1] = 0;
|
computername[len] = 0;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -716,7 +716,7 @@ BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR hostname,
|
||||||
if (len > MAX_COMPUTERNAME_LENGTH)
|
if (len > MAX_COMPUTERNAME_LENGTH)
|
||||||
len = MAX_COMPUTERNAME_LENGTH;
|
len = MAX_COMPUTERNAME_LENGTH;
|
||||||
|
|
||||||
if (*size < len)
|
if (*size < len + 1)
|
||||||
{
|
{
|
||||||
*size = len;
|
*size = len;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -724,6 +724,6 @@ BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR hostname,
|
||||||
if (!computername) return FALSE;
|
if (!computername) return FALSE;
|
||||||
|
|
||||||
memcpy( computername, hostname, len * sizeof(WCHAR) );
|
memcpy( computername, hostname, len * sizeof(WCHAR) );
|
||||||
computername[len + 1] = 0;
|
computername[len] = 0;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue