0
當以調試模式運行我們的遊戲時,我得到一個緩衝區溢出崩潰 - callstack是香蕉(看起來像卡在一個遞歸循環中),但是我跟蹤崩潰到以下函數:以調試模式運行時緩衝區溢出
std::wstring formatWstring(const wchar_t *first, ...)
{
wchar_t str[4096];
va_list marker;
va_start(marker, first);
vswprintf_s(str, sizeof(str), first, marker);
va_end(marker);
return str;
}
被稱爲用以下方式:
std::wstring gmh = io::lexicon->getString("FE_gamemode_header");
std::wstring gms = io::lexicon->getString(formatString("FE_gamemode_%s", game->getCurrentMapGameMode().c_str()));
m_gameMode = formatWstring(L"%S: %S", gmh.c_str(), gms.c_str());
我似乎無法弄清是怎麼吹這件事..任何線索?
'sizeof(str)'應該是'sizeof(str)/ sizeof(wchar_t)'。 –
@LuchianGrigore這應該是答案。 –
@AlexeyFrunze IDK,如果這是真正的問題。 –