[KERNEL32]

* Check more parameters in MultiByteToWideChar() and WideCharToMultibyte(). By Marcus Boillat.
* Fixes 4 kernel32:codepage tests.
CORE-7411 #resolve #comment Committed in r59839 with formatting fixes. Thanks.

svn path=/trunk/; revision=59839
This commit is contained in:
Amine Khaldi 2013-08-26 21:36:16 +00:00
parent 08c5f648ed
commit 003dacb551

View file

@ -1465,6 +1465,7 @@ MultiByteToWideChar(UINT CodePage,
{
/* Check the parameters. */
if (MultiByteString == NULL ||
MultiByteCount == 0 ||
(WideCharString == NULL && WideCharCount > 0) ||
(PVOID)MultiByteString == (PVOID)WideCharString)
{
@ -1899,6 +1900,7 @@ WideCharToMultiByte(UINT CodePage,
{
/* Check the parameters. */
if (WideCharString == NULL ||
WideCharCount == 0 ||
(MultiByteString == NULL && MultiByteCount > 0) ||
(PVOID)WideCharString == (PVOID)MultiByteString ||
MultiByteCount < 0)
@ -1916,6 +1918,11 @@ WideCharToMultiByte(UINT CodePage,
switch (CodePage)
{
case CP_UTF8:
if (DefaultChar != NULL || UsedDefaultChar != NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return 0;
}
return IntWideCharToMultiByteUTF8(CodePage,
Flags,
WideCharString,