advapi32: Set *lpSize properly in GetUserNameA
Alex Stanev
alex at stanev.org
Sun Jun 26 04:21:17 CDT 2011
Fixes bug 27598
---
dlls/advapi32/advapi.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/advapi32/advapi.c b/dlls/advapi32/advapi.c
index e135fa5..b16a7c1 100644
--- a/dlls/advapi32/advapi.c
+++ b/dlls/advapi32/advapi.c
@@ -55,19 +55,16 @@ GetUserNameA( LPSTR lpszName, LPDWORD lpSize )
{
WCHAR *buffer;
BOOL ret;
- DWORD sizeW = *lpSize;
- if (!(buffer = HeapAlloc( GetProcessHeap(), 0, sizeW *
sizeof(WCHAR) )))
+ if (!(buffer = HeapAlloc( GetProcessHeap(), 0, *lpSize *
sizeof(WCHAR) )))
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
return FALSE;
}
- ret = GetUserNameW( buffer, &sizeW );
+ ret = GetUserNameW( buffer, lpSize );
if (ret)
- WideCharToMultiByte( CP_ACP, 0, buffer, -1, lpszName, *lpSize,
NULL, NULL );
- else
- *lpSize = sizeW;
+ *lpSize = WideCharToMultiByte( CP_ACP, 0, buffer, -1, lpszName,
*lpSize, NULL, NULL );
HeapFree( GetProcessHeap(), 0, buffer );
return ret;
--
1.7.4.1
More information about the wine-patches
mailing list