[1/2] kernel32: Fix out of bounds access in DnsHostnameToComputerName[AW]
André Hentschel
nerv at dawncrow.de
Wed Jan 29 16:41:28 CST 2014
---
dlls/kernel32/computername.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/computername.c b/dlls/kernel32/computername.c
index 8650440..0c81ac0 100644
--- a/dlls/kernel32/computername.c
+++ b/dlls/kernel32/computername.c
@@ -688,7 +688,7 @@ BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR hostname,
if (len > MAX_COMPUTERNAME_LENGTH)
len = MAX_COMPUTERNAME_LENGTH;
- if (*size < len)
+ if (*size < len + 1)
{
*size = len;
return FALSE;
@@ -696,7 +696,7 @@ BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR hostname,
if (!computername) return FALSE;
memcpy( computername, hostname, len );
- computername[len + 1] = 0;
+ computername[len] = 0;
return TRUE;
}
@@ -716,7 +716,7 @@ BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR hostname,
if (len > MAX_COMPUTERNAME_LENGTH)
len = MAX_COMPUTERNAME_LENGTH;
- if (*size < len)
+ if (*size < len + 1)
{
*size = len;
return FALSE;
@@ -724,6 +724,6 @@ BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR hostname,
if (!computername) return FALSE;
memcpy( computername, hostname, len * sizeof(WCHAR) );
- computername[len + 1] = 0;
+ computername[len] = 0;
return TRUE;
}
--
1.8.1.2
More information about the wine-patches
mailing list