'lua_State.nci' must be an integer
Lua can easily overflow an unsigned short counting nested calls. (The limit to this value is the maximum stack size, LUAI_MAXSTACK, which is currently 1e6.)
This commit is contained in:
2
lstate.h
2
lstate.h
@@ -290,7 +290,6 @@ struct lua_State {
|
||||
CommonHeader;
|
||||
lu_byte allowhook;
|
||||
TStatus status;
|
||||
unsigned short nci; /* number of items in 'ci' list */
|
||||
StkIdRel top; /* first free slot in the stack */
|
||||
struct global_State *l_G;
|
||||
CallInfo *ci; /* call info for current function */
|
||||
@@ -306,6 +305,7 @@ struct lua_State {
|
||||
ptrdiff_t errfunc; /* current error handling function (stack index) */
|
||||
l_uint32 nCcalls; /* number of nested non-yieldable or C calls */
|
||||
int oldpc; /* last pc traced */
|
||||
int nci; /* number of items in 'ci' list */
|
||||
int basehookcount;
|
||||
int hookcount;
|
||||
volatile l_signalT hookmask;
|
||||
|
||||
Reference in New Issue
Block a user