diff --git a/src/lj_debug.c b/src/lj_debug.c index a684302c..93e3d0a7 100644 --- a/src/lj_debug.c +++ b/src/lj_debug.c @@ -40,6 +40,11 @@ cTValue *lj_debug_frame(lua_State *L, int level, int *size) if (frame_isvarg(frame)) level++; /* Skip vararg pseudo-frame. */ frame = frame_prevd(frame); + + /* bail on infinite loop */ + if (frame == nextframe) { + break; + } } } *size = level;