mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Add missing check for return to lower frame.
This commit is contained in:
parent
c8a80fa989
commit
05d67cf566
@ -1510,12 +1510,13 @@ static void rec_ret(jit_State *J, BCReg rbase, int gotresults)
|
|||||||
J->tailcalled = 0;
|
J->tailcalled = 0;
|
||||||
while (frame_ispcall(frame)) {
|
while (frame_ispcall(frame)) {
|
||||||
BCReg cbase = (BCReg)frame_delta(frame);
|
BCReg cbase = (BCReg)frame_delta(frame);
|
||||||
|
if (J->framedepth-- <= 0)
|
||||||
|
lj_trace_err(J, LJ_TRERR_NYIRETL);
|
||||||
lua_assert(J->baseslot > 1);
|
lua_assert(J->baseslot > 1);
|
||||||
J->baseslot -= (BCReg)cbase;
|
J->baseslot -= (BCReg)cbase;
|
||||||
J->base -= cbase;
|
J->base -= cbase;
|
||||||
*--res = TREF_TRUE; /* Prepend true to results. */
|
*--res = TREF_TRUE; /* Prepend true to results. */
|
||||||
gotresults++;
|
gotresults++;
|
||||||
J->framedepth--;
|
|
||||||
frame = frame_prevd(frame);
|
frame = frame_prevd(frame);
|
||||||
}
|
}
|
||||||
if (J->framedepth-- <= 0)
|
if (J->framedepth-- <= 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user