Skip to content

Commit f46d7f2

Browse files
committed
Fix Unicode OOB issues
1 parent 80297f3 commit f46d7f2

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

‎src/Engine/Unicode.cpp‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ bool caseCompare(const std::string &a, const std::string &b)
285285
std::wstring wb = convMbToWc(b, CP_UTF8);
286286
return (StrCmpIW(wa.c_str(), wb.c_str()) < 0);
287287
#else
288-
return (std::use_facet< std::collate<char> >(utf8).compare(&a[0], &a[a.size()], &b[0], &b[b.size()]) < 0);
288+
return (std::use_facet< std::collate<char> >(utf8).compare(&a[0], &a[0] + a.size(), &b[0], &b[0] + b.size()) < 0);
289289
#endif
290290
}
291291

@@ -304,8 +304,8 @@ bool caseFind(const std::string &haystack, const std::string &needle)
304304
#else
305305
std::wstring wa = convMbToWc(haystack, 0);
306306
std::wstring wb = convMbToWc(needle, 0);
307-
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&wa[0], &wb[wb.size()]);
308-
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&wb[0], &wb[wb.size()]);
307+
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&wa[0], &wa[0] + wa.size());
308+
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&wb[0], &wb[0] + wb.size());
309309
return (wa.find(wb) != std::wstring::npos);
310310
#endif
311311
}
@@ -325,7 +325,7 @@ void upperCase(std::string &s)
325325
s = convWcToMb(ws, CP_UTF8);
326326
#else
327327
std::wstring ws = convMbToWc(s, 0);
328-
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&ws[0], &ws[ws.size()]);
328+
std::use_facet< std::ctype<wchar_t> >(utf8).toupper(&ws[0], &ws[0] + ws.size());
329329
s = convWcToMb(ws, 0);
330330
#endif
331331
}
@@ -345,7 +345,7 @@ void lowerCase(std::string &s)
345345
s = convWcToMb(ws, CP_UTF8);
346346
#else
347347
std::wstring ws = convMbToWc(s, 0);
348-
std::use_facet< std::ctype<wchar_t> >(utf8).tolower(&ws[0], &ws[ws.size()]);
348+
std::use_facet< std::ctype<wchar_t> >(utf8).tolower(&ws[0], &ws[0] + ws.size());
349349
s = convWcToMb(ws, 0);
350350
#endif
351351
}

0 commit comments

Comments
 (0)