[PATCH v2 0/1] MR4541: msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
-- v2: msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l. https://gitlab.winehq.org/wine/wine/-/merge_requests/4541
From: Piotr Caban <piotr(a)codeweavers.com> 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; } /********************************************************************* -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4541
participants (2)
-
Piotr Caban -
Piotr Caban (@piotr)