Piotr Caban : msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
Module: wine Branch: master Commit: 6a78f71f3c3d6b0298c556858dcd1ff7f2878e14 URL: https://gitlab.winehq.org/wine/wine/-/commit/6a78f71f3c3d6b0298c556858dcd1ff... Author: Piotr Caban <piotr(a)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; } /*********************************************************************
participants (1)
-
Alexandre Julliard