Kai Tietz <ktiet...@googlemail.com> writes: > 2013/8/16 Alexandre Julliard <julli...@winehq.org>: >> Kai Tietz <ktiet...@googlemail.com> writes: >> >>> diff --git a/dlls/msvcrt/dir.c b/dlls/msvcrt/dir.c >>> index 44802b3..3b9e3c7 100644 >>> --- a/dlls/msvcrt/dir.c >>> +++ b/dlls/msvcrt/dir.c >>> @@ -365,14 +365,25 @@ int CDECL MSVCRT__chdrive(int newdrive) >>> { >>> WCHAR buffer[] = {'A', ':', 0}; >>> >>> + if (newdrive < 1 || newdrive > 31) >>> + { >>> + *MSVCRT___doserrno () = ERROR_INVALID_DRIVE; >>> + *MSVCRT__errno () = MSVCRT_EACCES; >>> + return -1; >>> + } >>> buffer[0] += newdrive - 1; >>> - if (!SetCurrentDirectoryW( buffer )) >>> + >>> + _lock (_ENV_LOCK); >>> + >>> + if (!SetCurrentDirectoryW (buffer)) >>> { >>> - msvcrt_set_errno(GetLastError()); >>> - if (newdrive <= 0) >>> - *MSVCRT__errno() = MSVCRT_EACCES; >>> + msvcrt_set_errno (GetLastError ()); >>> + _unlock (_ENV_LOCK); >>> return -1; >>> } >>> + >>> + _unlock (_ENV_LOCK); >>> + >>> return 0; >>> } >> >> Please add test cases at least for the error values. >> >> -- >> Alexandre Julliard >> julli...@winehq.org > > Ok, adjusted patch attached.
Please send all patches to wine-patches otherwise they don't go into the patch queue. -- Alexandre Julliard julli...@winehq.org