aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_cparse.c4
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--;