mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-26 03:01:11 +00:00
Check Lua stack before pushing cons args
Prevents a Lua stack overrun when executing absurd console commands for local-only lua commands.
This commit is contained in:
parent
388a72a89b
commit
73cf19038c
1 changed files with 5 additions and 0 deletions
|
@ -184,6 +184,11 @@ void COM_Lua_f(void)
|
|||
I_Assert(lua_isfunction(gL, -1));
|
||||
lua_remove(gL, -2); // pop command info table
|
||||
|
||||
if (!lua_checkstack(gL, COM_Argc() + 1))
|
||||
{
|
||||
CONS_Alert(CONS_WARNING, "lua command stack overflow (%d, need %s more)\n", lua_gettop(gL), sizeu1(COM_Argc() + 1));
|
||||
return;
|
||||
}
|
||||
LUA_PushUserdata(gL, &players[playernum], META_PLAYER);
|
||||
for (i = 1; i < COM_Argc(); i++)
|
||||
lua_pushstring(gL, COM_Argv(i));
|
||||
|
|
Loading…
Reference in a new issue