Module: wine Branch: master Commit: 2db497e89e8e4a37a8bd569b8691b9b87ae63606 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2db497e89e8e4a37a8bd569b86...
Author: Andrey Turkin andrey.turkin@gmail.com Date: Tue Feb 23 18:41:27 2010 +0300
kernel32: Use TEB-based buffer in CreateMutexExA.
---
dlls/kernel32/sync.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c index fbe055d..0ba2ad1 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c @@ -614,16 +614,19 @@ HANDLE WINAPI CreateMutexW( SECURITY_ATTRIBUTES *sa, BOOL owner, LPCWSTR name ) */ HANDLE WINAPI CreateMutexExA( SECURITY_ATTRIBUTES *sa, LPCSTR name, DWORD flags, DWORD access ) { - WCHAR buffer[MAX_PATH]; + ANSI_STRING nameA; + NTSTATUS status;
if (!name) return CreateMutexExW( sa, NULL, flags, access );
- if (!MultiByteToWideChar( CP_ACP, 0, name, -1, buffer, MAX_PATH )) + RtlInitAnsiString( &nameA, name ); + status = RtlAnsiStringToUnicodeString( &NtCurrentTeb()->StaticUnicodeString, &nameA, FALSE ); + if (status != STATUS_SUCCESS) { SetLastError( ERROR_FILENAME_EXCED_RANGE ); return 0; } - return CreateMutexExW( sa, buffer, flags, access ); + return CreateMutexExW( sa, NtCurrentTeb()->StaticUnicodeString.Buffer, flags, access ); }