Fix: (for Win builds) incorrect use of "wcscpy_s" and "swprintf_s".

The expected size is in number of characters, not bytes. Caused stack corruption.
This commit is contained in:
mathieu _alkama_ m 2016-02-02 09:02:15 +01:00
parent ae8f30f66c
commit e87c756d3e
2 changed files with 13 additions and 13 deletions

View File

@ -957,9 +957,9 @@ static void setWindowTitle(const text_t* path, bool needsSave)
text_t windowTitle[4096];
#if defined(_WIN32)
if (needsSave)
swprintf_s(windowTitle, 4096, L"RocketEditor" EDITOR_VERSION L"- (%s) *", path);
swprintf_s(windowTitle, sizeof_array(windowTitle), L"RocketEditor" EDITOR_VERSION L"- (%s) *", path);
else
swprintf_s(windowTitle, 4096, L"RocketEditor" EDITOR_VERSION L" - (%s)", path);
swprintf_s(windowTitle, sizeof_array(windowTitle), L"RocketEditor" EDITOR_VERSION L" - (%s)", path);
#else
if (needsSave)
sprintf(windowTitle, "RocketEditor" EDITOR_VERSION "- (%s) *", path);

View File

@ -210,17 +210,17 @@ static void formatName(wchar_t* outName, int keyMod, int key, const wchar_t* nam
{
switch (key)
{
case EMGUI_KEY_ARROW_DOWN : wcscpy_s(keyName, 64, L"Down"); break;
case EMGUI_KEY_ARROW_UP: wcscpy_s(keyName, 64, L"Up"); break;
case EMGUI_KEY_ARROW_RIGHT: wcscpy_s(keyName, 64, L"Right"); break;
case EMGUI_KEY_ARROW_LEFT: wcscpy_s(keyName, 64, L"Left"); break;
case EMGUI_KEY_ESC: wcscpy_s(keyName, 64, L"ESC"); break;
case EMGUI_KEY_TAB: wcscpy_s(keyName, 64, L"TAB"); break;
case EMGUI_KEY_BACKSPACE: wcscpy_s(keyName, 64, L"Delete"); break;
case EMGUI_KEY_ENTER: wcscpy_s(keyName, 64, L"Enter"); break;
case EMGUI_KEY_SPACE: wcscpy_s(keyName, 64, L"Space"); break;
case EMGUI_KEY_PAGE_UP: wcscpy_s(keyName, 64, L"Page Up"); break;
case EMGUI_KEY_PAGE_DOWN: wcscpy_s(keyName, 64, L"Page Down"); break;
case EMGUI_KEY_ARROW_DOWN : wcscpy_s(keyName, sizeof_array(keyName), L"Down"); break;
case EMGUI_KEY_ARROW_UP: wcscpy_s(keyName, sizeof_array(keyName), L"Up"); break;
case EMGUI_KEY_ARROW_RIGHT: wcscpy_s(keyName, sizeof_array(keyName), L"Right"); break;
case EMGUI_KEY_ARROW_LEFT: wcscpy_s(keyName, sizeof_array(keyName), L"Left"); break;
case EMGUI_KEY_ESC: wcscpy_s(keyName, sizeof_array(keyName), L"ESC"); break;
case EMGUI_KEY_TAB: wcscpy_s(keyName, sizeof_array(keyName), L"TAB"); break;
case EMGUI_KEY_BACKSPACE: wcscpy_s(keyName, sizeof_array(keyName), L"Delete"); break;
case EMGUI_KEY_ENTER: wcscpy_s(keyName, sizeof_array(keyName), L"Enter"); break;
case EMGUI_KEY_SPACE: wcscpy_s(keyName, sizeof_array(keyName), L"Space"); break;
case EMGUI_KEY_PAGE_UP: wcscpy_s(keyName, sizeof_array(keyName), L"Page Up"); break;
case EMGUI_KEY_PAGE_DOWN: wcscpy_s(keyName, sizeof_array(keyName), L"Page Down"); break;
}
}