diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_cparse.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_cparse.c b/src/lj_cparse.c index 6c3bb2f9..9774f3a5 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c | |||
@@ -1766,9 +1766,11 @@ static void cp_pragma(CPState *cp, BCLine pragmaline) | |||
1766 | cp_check(cp, '('); | 1766 | cp_check(cp, '('); |
1767 | if (cp->tok == CTOK_IDENT) { | 1767 | if (cp->tok == CTOK_IDENT) { |
1768 | if (cp_str_is(cp->str, "push")) { | 1768 | if (cp_str_is(cp->str, "push")) { |
1769 | if (cp->curpack < CPARSE_MAX_PACKSTACK) { | 1769 | if (cp->curpack < CPARSE_MAX_PACKSTACK-1) { |
1770 | cp->packstack[cp->curpack+1] = cp->packstack[cp->curpack]; | 1770 | cp->packstack[cp->curpack+1] = cp->packstack[cp->curpack]; |
1771 | cp->curpack++; | 1771 | cp->curpack++; |
1772 | } else { | ||
1773 | cp_errmsg(cp, cp->tok, LJ_ERR_XLEVELS); | ||
1772 | } | 1774 | } |
1773 | } else if (cp_str_is(cp->str, "pop")) { | 1775 | } else if (cp_str_is(cp->str, "pop")) { |
1774 | if (cp->curpack > 0) cp->curpack--; | 1776 | if (cp->curpack > 0) cp->curpack--; |