25 Jul
2023
25 Jul
'23
11:30 a.m.
Piotr Caban (@piotr) commented about dlls/msvcrt/locale.c:
if (search.allow_sname && IsValidLocaleName(search.search_language)) { search.match_flags = FOUND_SNAME; - wcsncpy(sname, search.search_language, sname_size); + + if (sname_size < wcslen(search.search_language) + 1) + return FALSE; + wcscpy(sname, search.search_language);
Isn't it better to remove sname_size parameter and assume that passed buffer length is LOCALE_NAME_MAX_LENGTH? The size checks should not be needed since locale name always fits into LOCALE_NAME_MAX_LENGTH buffer. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3396#note_40125