From bbd71d6b72497f6ab24e43548ad924747549d090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Wed, 29 Jan 2014 23:41:28 +0100 Subject: [PATCH] kernel32: Fix out of bounds access in DnsHostnameToComputerName[AW]. --- 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 8650440f3b1..0c81ac033ce 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; }