fail as documented when the pointer to the buffer equals the pointer to
the string to be converted in MultiByteToWideChar and
WideCharToMultiByte
Modified: trunk/reactos/lib/kernel32/misc/nls.c
_____
Modified: trunk/reactos/lib/kernel32/misc/nls.c
--- trunk/reactos/lib/kernel32/misc/nls.c 2005-08-03 22:49:47 UTC
(rev 17038)
+++ trunk/reactos/lib/kernel32/misc/nls.c 2005-08-03 23:07:10 UTC
(rev 17039)
@@ -745,7 +745,8 @@
{
/* Check the parameters. */
if (MultiByteString == NULL ||
- (WideCharString == NULL && WideCharCount > 0))
+ (WideCharString == NULL && WideCharCount > 0) ||
+ (PVOID)MultiByteString == (PVOID)WideCharString)
{
SetLastError(ERROR_INVALID_PARAMETER);
return 0;
@@ -823,7 +824,8 @@
{
/* Check the parameters. */
if (WideCharString == NULL ||
- (MultiByteString == NULL && MultiByteCount > 0))
+ (MultiByteString == NULL && MultiByteCount > 0) ||
+ (PVOID)WideCharString == (PVOID)MultiByteString)
{
SetLastError(ERROR_INVALID_PARAMETER);
return 0;