Module: wine Branch: master Commit: 6a78f71f3c3d6b0298c556858dcd1ff7f2878e14 URL: https://gitlab.winehq.org/wine/wine/-/commit/6a78f71f3c3d6b0298c556858dcd1ff...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Nov 29 12:06:02 2023 +0100
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55959
---
dlls/msvcrt/mbcs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 2e228d77811..ce8a3115eeb 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -1110,7 +1110,9 @@ int CDECL _mbsnbicoll_l(const unsigned char *str1, const unsigned char *str2, si
if(!mbcinfo->ismbcodepage) return _strnicoll_l((const char*)str1, (const char*)str2, len, locale); - return CompareStringA(mbcinfo->mblcid, NORM_IGNORECASE, (const char*)str1, len, (const char*)str2, len)-CSTR_EQUAL; + return CompareStringA(mbcinfo->mblcid, NORM_IGNORECASE, + (const char*)str1, strnlen((const char*)str1, len), + (const char*)str2, strnlen((const char*)str2, len)) - CSTR_EQUAL; }
/********************************************************************* @@ -1156,7 +1158,9 @@ int CDECL _mbsnbcoll_l(const unsigned char *str1, const unsigned char *str2, siz
if(!mbcinfo->ismbcodepage) return _strncoll_l((const char*)str1, (const char*)str2, len, locale); - return CompareStringA(mbcinfo->mblcid, 0, (const char*)str1, len, (const char*)str2, len)-CSTR_EQUAL; + return CompareStringA(mbcinfo->mblcid, 0, + (const char*)str1, strnlen((const char*)str1, len), + (const char*)str2, strnlen((const char*)str2, len)) - CSTR_EQUAL; }
/*********************************************************************