diff --git a/src/lj_parse.c b/src/lj_parse.c index c0cbd261..afdbcc3d 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c @@ -2527,9 +2527,11 @@ static void parse_for_num(LexState *ls, GCstr *varname, BCLine line) */ static int predict_next(LexState *ls, FuncState *fs, BCPos pc) { - BCIns ins = fs->bcbase[pc].ins; + BCIns ins; GCstr *name; cTValue *o; + if (pc >= fs->bclim) return 0; + ins = fs->bcbase[pc].ins; switch (bc_op(ins)) { case BC_MOV: if (bc_d(ins) >= fs->nactvar) return 0;