[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-cvs
Subject: Alexandre Julliard : advapi32: Avoid slashes and backslashes in user
From: Alexandre Julliard <julliard () wine ! codeweavers ! com>
Date: 2007-02-28 14:19:15
Message-ID: E1HMPeF-0008Sc-Pl () wine ! codeweavers ! com
[Download RAW message or body]
Module: wine
Branch: master
Commit: ec636f151b78c3d5bc8e8d0b33fcca1465574a3a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec636f151b78c3d5bc8e8d0b33fcca1465574a3a
Author: Alexandre Julliard <julliard@winehq.org>
Date: Wed Feb 28 14:51:04 2007 +0100
advapi32: Avoid slashes and backslashes in user names.
---
dlls/advapi32/advapi.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/advapi32/advapi.c b/dlls/advapi32/advapi.c
index fbcb1a6..126f8d1 100644
--- a/dlls/advapi32/advapi.c
+++ b/dlls/advapi32/advapi.c
@@ -84,7 +84,7 @@ BOOL WINAPI
GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
{
const char *name = wine_get_user_name();
- DWORD len = MultiByteToWideChar( CP_UNIXCP, 0, name, -1, NULL, 0 );
+ DWORD i, len = MultiByteToWideChar( CP_UNIXCP, 0, name, -1, NULL, 0 );
if (len > *lpSize)
{
@@ -95,6 +95,12 @@ GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
*lpSize = len;
MultiByteToWideChar( CP_UNIXCP, 0, name, -1, lpszName, len );
+
+ /* Word uses the user name to create named mutexes and file mappings,
+ * and backslashes in the name cause the creation to fail.
+ */
+ for (i = 0; lpszName[i]; i++)
+ if (lpszName[i] == '\\' || lpszName[i] == '/') lpszName[i] = '_';
return TRUE;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic