From ec92a609529864bcb7f17d6492e6c31b1fd69f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sat, 28 Jun 2008 16:51:42 +0000 Subject: [PATCH] Fix GetUserNameA/GetComputerNameExA Patch by Carlo Bramini, carlo dot bramix at libero dot it See issue #1859 for more details. svn path=/trunk/; revision=34159 --- reactos/dll/win32/advapi32/sec/misc.c | 2 +- reactos/dll/win32/kernel32/misc/computername.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/advapi32/sec/misc.c b/reactos/dll/win32/advapi32/sec/misc.c index a2c7ce04f40..35868ea2d1b 100644 --- a/reactos/dll/win32/advapi32/sec/misc.c +++ b/reactos/dll/win32/advapi32/sec/misc.c @@ -723,7 +723,6 @@ GetUserNameA( LPSTR lpszName, LPDWORD lpSize ) /* apparently Win doesn't check whether lpSize is valid at all! */ - NameW.Length = 0; NameW.MaximumLength = (*lpSize) * sizeof(WCHAR); NameW.Buffer = LocalAlloc(LMEM_FIXED, NameW.MaximumLength); if(NameW.Buffer == NULL) @@ -740,6 +739,7 @@ GetUserNameA( LPSTR lpszName, LPDWORD lpSize ) lpSize); if(Ret) { + NameW.Length = (*lpSize) * sizeof(WCHAR); RtlUnicodeStringToAnsiString(&NameA, &NameW, FALSE); NameA.Buffer[NameA.Length] = '\0'; diff --git a/reactos/dll/win32/kernel32/misc/computername.c b/reactos/dll/win32/kernel32/misc/computername.c index 530ef338ec9..c0a0f7ffc14 100644 --- a/reactos/dll/win32/kernel32/misc/computername.c +++ b/reactos/dll/win32/kernel32/misc/computername.c @@ -232,7 +232,7 @@ GetComputerNameExA ( UNICODE_STRING UnicodeString; ANSI_STRING AnsiString; BOOL Result; - PWCHAR TempBuffer = RtlAllocateHeap( GetProcessHeap(), 0, *nSize * sizeof(WCHAR) ); + PWCHAR TempBuffer = RtlAllocateHeap( RtlGetProcessHeap(), 0, *nSize * sizeof(WCHAR) ); if( !TempBuffer ) { return ERROR_OUTOFMEMORY; @@ -254,7 +254,7 @@ GetComputerNameExA ( FALSE); } - HeapFree( GetProcessHeap(), 0, TempBuffer ); + RtlFreeHeap( RtlGetProcessHeap(), 0, TempBuffer ); return Result; }