Fix: [Script] Ensure the saved script strings are properly validated and terminated when being read from the savegame

This commit is contained in:
rubidium42 2021-06-04 18:59:13 +02:00 committed by rubidium42
parent bb8fd00760
commit 2924ac48c5
1 changed files with 2 additions and 1 deletions

View File

@ -569,8 +569,9 @@ bool ScriptInstance::IsPaused()
case SQSL_STRING: {
SlObject(nullptr, _script_byte);
static char buf[256];
static char buf[std::numeric_limits<decltype(_script_sl_byte)>::max()];
SlArray(buf, _script_sl_byte, SLE_CHAR);
StrMakeValidInPlace(buf, buf + _script_sl_byte);
if (vm != nullptr) sq_pushstring(vm, buf, -1);
return true;
}