fix(Core/Crash): Improved Utf8toWStr() function to prevent crashes (#2407)

This commit is contained in:
Stefano Borzì
2019-11-06 09:34:24 +01:00
committed by Stoabrogga
parent 77c97598f0
commit c294dd3142

View File

@@ -333,17 +333,14 @@ bool Utf8toWStr(char const* utf8str, size_t csize, wchar_t* wstr, size_t& wsize)
bool Utf8toWStr(const std::string& utf8str, std::wstring& wstr)
{
wstr.clear();
try
{
if (size_t len = utf8::distance(utf8str.c_str(), utf8str.c_str()+utf8str.size()))
{
wstr.resize(len);
utf8::utf8to16(utf8str.c_str(), utf8str.c_str()+utf8str.size(), &wstr[0]);
}
utf8::utf8to16(utf8str.c_str(), utf8str.c_str()+utf8str.size(), std::back_inserter(wstr));
}
catch(std::exception)
catch(std::exception const&)
{
wstr = L"";
wstr.clear();
return false;
}