diff --git a/3rd/lua/ldebug.c b/3rd/lua/ldebug.c index 3e684b0b..ed98b27f 100644 --- a/3rd/lua/ldebug.c +++ b/3rd/lua/ldebug.c @@ -653,6 +653,7 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, ...) { CallInfo *ci = L->ci; const char *msg; va_list argp; + luaC_checkGC(L); /* error message uses memory */ va_start(argp, fmt); msg = luaO_pushvfstring(L, fmt, argp); /* format message */ va_end(argp); diff --git a/3rd/lua/lparser.c b/3rd/lua/lparser.c index 4aa3e356..7419987f 100644 --- a/3rd/lua/lparser.c +++ b/3rd/lua/lparser.c @@ -1395,7 +1395,7 @@ static void test_then_block (LexState *ls, int *escapelist) { luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ enterblock(fs, &bl, 0); /* must enter block before 'goto' */ gotostat(ls, v.t); /* handle goto/break */ - while (testnext(ls, ';')) {} /* skip colons */ + while (testnext(ls, ';')) {} /* skip semicolons */ if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ leaveblock(fs); return; /* and that is it */