diff --git a/reactos/dll/win32/kernel32/misc/nls.c b/reactos/dll/win32/kernel32/misc/nls.c index 6da28161557..e355ff7accf 100644 --- a/reactos/dll/win32/kernel32/misc/nls.c +++ b/reactos/dll/win32/kernel32/misc/nls.c @@ -569,7 +569,7 @@ IntWideCharToMultiByteCP(UINT CodePage, DWORD Flags, WideCharCount = MultiByteCount; SetLastError(ERROR_INSUFFICIENT_BUFFER); } - + for (TempLength = WideCharCount; TempLength > 0; WideCharString++, TempLength--) @@ -577,6 +577,12 @@ IntWideCharToMultiByteCP(UINT CodePage, DWORD Flags, *MultiByteString++ = ((PCHAR)CodePageTable->WideCharTable)[*WideCharString]; } + if (WideCharCount>2) + { + MultiByteString--; + *MultiByteString = 0; + } + /* FIXME */ if (UsedDefaultChar != NULL) *UsedDefaultChar = FALSE;