[ros-dev] [ros-diffs] [ekohl] 58326: [MSGINA] - Fix a typo in the german lock dialog. - Store the user name and domain in the gina context and use them in the lock dialog. - Initialize the LOGONSERVER environment variable.

Thomas Faber thfabba at gmx.de
Sun Feb 17 12:12:21 UTC 2013


Hey Eric,

On 2013-02-17 02:06, ekohl at svn.reactos.org wrote:
> Modified: trunk/reactos/dll/win32/msgina/msgina.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/msgina.c?rev=58326&r1=58325&r2=58326&view=diff
> ==============================================================================
> --- trunk/reactos/dll/win32/msgina/msgina.c [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/msgina/msgina.c [iso-8859-1] Sun Feb 17 01:06:24 2013
> @@ -456,13 +469,15 @@
>  	pProfile->dwType = WLX_PROFILE_TYPE_V2_0;
>  	pProfile->pszProfile = ProfilePath;
>  
> -	lpEnvironment = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 32 * sizeof(WCHAR));
> +	lpEnvironment = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
> +	                          (wcslen(pgContext->Domain)+ 14) * sizeof(WCHAR));

This needs to be 15 (or sizeof L"LOGONSERVER\\\\" / sizeof(WCHAR)). I
assume the resulting heap corruption is what causes the VMWare failures:

http://build.reactos.org:8010/builders/Linux_AMD64_2%20VMWPlayer-Test/builds/237/steps/test/logs/stdio

err:user32:IntCallWindowProcW Got exception when calling unicode WndProc 00402B6C Msg 1625 
(1625=WLX_WM_SAS)

Not fixing it myself so as not to cause any conflicts for you.
Thanks.

-Thomas

>  	if (!lpEnvironment)
>  	{
>  		WARN("HeapAlloc() failed\n");
>  		goto cleanup;
>  	}
> -	wcscpy(lpEnvironment, L"LOGONSERVER=\\\\Test");
> +
> +	wsprintfW(lpEnvironment, L"LOGONSERVER=\\\\%s", pgContext->Domain);
>  
>  	pProfile->pszEnvironment = lpEnvironment;
>  



More information about the Ros-dev mailing list