Fix a crash (a regression) due to replacement of lstrcpy by wcscpy_s
Close #5314
This commit is contained in:
parent
501980782f
commit
7aa953c55a
@ -122,7 +122,7 @@ int FileDialog::setExtsFilter(const TCHAR *extText, const TCHAR *exts)
|
||||
extFilter += TEXT(")");
|
||||
|
||||
// Resize filter buffer
|
||||
int nbCharAdditional = static_cast<int32_t>(extFilter.length() + lstrlen(exts) + 3); // 3 additional for nulls
|
||||
int nbCharAdditional = static_cast<int32_t>(extFilter.length() + _tcsclen(exts) + 3); // 3 additional for nulls
|
||||
if (_fileExt)
|
||||
{
|
||||
oldFilter = new TCHAR[_nbCharFileExt];
|
||||
@ -146,14 +146,14 @@ int FileDialog::setExtsFilter(const TCHAR *extText, const TCHAR *exts)
|
||||
|
||||
// Append new filter
|
||||
TCHAR *pFileExt = _fileExt + _nbCharFileExt;
|
||||
int curLen = nbCharNewFileExt - _nbCharFileExt;
|
||||
auto curLen = extFilter.length() + 1;
|
||||
wcscpy_s(pFileExt, curLen, extFilter.c_str());
|
||||
_nbCharFileExt += static_cast<int32_t>(extFilter.length()) + 1;
|
||||
_nbCharFileExt += static_cast<int32_t>(curLen);
|
||||
|
||||
pFileExt = _fileExt + _nbCharFileExt;
|
||||
curLen = nbCharNewFileExt - _nbCharFileExt;
|
||||
curLen = _tcsclen(exts) + 1;
|
||||
wcscpy_s(pFileExt, curLen, exts);
|
||||
_nbCharFileExt += lstrlen(exts) + 1;
|
||||
_nbCharFileExt += static_cast<int32_t>(curLen);
|
||||
|
||||
// Set file dialog pointer
|
||||
_ofn.lpstrFilter = _fileExt;
|
||||
|
Loading…
Reference in New Issue
Block a user