Avoid out-of-range PC for stack overflow error from snapshot restore.

Reported by Sergey Kaplun. #1369
This commit is contained in:
Mike Pall
2025-07-24 15:35:56 +02:00
parent c64020f3c6
commit e3fa3c48d8

View File

@@ -101,6 +101,7 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe)
pt = funcproto(fn);
pos = proto_bcpos(pt, ins) - 1;
#if LJ_HASJIT
if (pos == NO_BCPOS) return 1; /* Pretend it's the first bytecode. */
if (pos > pt->sizebc) { /* Undo the effects of lj_trace_exit for JLOOP. */
if (bc_isret(bc_op(ins[-1]))) {
GCtrace *T = (GCtrace *)((char *)(ins-1) - offsetof(GCtrace, startins));