diff options
author | Mike Pall <mike> | 2022-12-09 00:21:40 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2022-12-09 00:21:40 +0100 |
commit | 8625eee71f16a3a780ec92bc303c17456efc7fb3 (patch) | |
tree | c60c31f7b4ce5d01936027ca70ebb23b425d36be | |
parent | de2e1ca9d3d87e74c0c20c1e4ad3c32b31a5875b (diff) | |
parent | b2791179ef96d652d00d78d2a8780af690537f6a (diff) | |
download | luajit2-8625eee71f16a3a780ec92bc303c17456efc7fb3.tar.gz |
Merge branch 'master' into v2.1
-rw-r--r-- | src/lj_record.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index bfd41236..79ee6172 100644 --- a/src/lj_record.c +++ b/src/lj_record.c @@ -1945,6 +1945,8 @@ static void rec_varg(jit_State *J, BCReg dst, ptrdiff_t nresults) } else if (dst + nresults > J->maxslot) { J->maxslot = dst + (BCReg)nresults; } + if (J->baseslot + J->maxslot >= LJ_MAX_JSLOTS) + lj_trace_err(J, LJ_TRERR_STACKOV); for (i = 0; i < nresults; i++) J->base[dst+i] = i < nvararg ? getslot(J, i - nvararg - 1 - LJ_FR2) : TREF_NIL; } else { /* Unknown number of varargs passed to trace. */ @@ -2022,8 +2024,6 @@ static void rec_varg(jit_State *J, BCReg dst, ptrdiff_t nresults) lj_trace_err_info(J, LJ_TRERR_NYIBC); } } - if (J->baseslot + J->maxslot >= LJ_MAX_JSLOTS) - lj_trace_err(J, LJ_TRERR_STACKOV); } /* -- Record allocations -------------------------------------------------- */ |