Module: wine Branch: master Commit: 5fbdd644d6493c19eb3e2634fd2101b54661f336 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5fbdd644d6493c19eb3e2634fd...
Author: Akihiro Sagawa sagawa.aki@gmail.com Date: Fri Sep 23 00:06:10 2016 +0900
kernel32: Zero is an invalid flag value.
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/locale.c | 3 ++- dlls/kernel32/tests/locale.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index ce64fe6..24911e8 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -3154,7 +3154,8 @@ INT WINAPI LCMapStringEx(LPCWSTR name, DWORD flags, LPCWSTR src, INT srclen, LPW if ((flags & (LCMAP_LOWERCASE | LCMAP_UPPERCASE)) == (LCMAP_LOWERCASE | LCMAP_UPPERCASE) || (flags & (LCMAP_HIRAGANA | LCMAP_KATAKANA)) == (LCMAP_HIRAGANA | LCMAP_KATAKANA) || (flags & (LCMAP_HALFWIDTH | LCMAP_FULLWIDTH)) == (LCMAP_HALFWIDTH | LCMAP_FULLWIDTH) || - (flags & (LCMAP_TRADITIONAL_CHINESE | LCMAP_SIMPLIFIED_CHINESE)) == (LCMAP_TRADITIONAL_CHINESE | LCMAP_SIMPLIFIED_CHINESE)) + (flags & (LCMAP_TRADITIONAL_CHINESE | LCMAP_SIMPLIFIED_CHINESE)) == (LCMAP_TRADITIONAL_CHINESE | LCMAP_SIMPLIFIED_CHINESE) || + !flags) { SetLastError(ERROR_INVALID_FLAGS); return 0; diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index c1dee00..a37d367 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -2196,6 +2196,7 @@ static void test_CompareStringEx(void) }
static const DWORD lcmap_invalid_flags[] = { + 0, LCMAP_HIRAGANA | LCMAP_KATAKANA, LCMAP_HALFWIDTH | LCMAP_FULLWIDTH, LCMAP_TRADITIONAL_CHINESE | LCMAP_SIMPLIFIED_CHINESE,