diff options
Diffstat (limited to 'src')
-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 f807c5ae..2ef7dbe1 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c | |||
@@ -1747,9 +1747,11 @@ static void cp_pragma(CPState *cp, BCLine pragmaline) | |||
1747 | cp_check(cp, '('); | 1747 | cp_check(cp, '('); |
1748 | if (cp->tok == CTOK_IDENT) { | 1748 | if (cp->tok == CTOK_IDENT) { |
1749 | if (cp->str->hash == H_(738e923c,a1b65954)) { /* push */ | 1749 | if (cp->str->hash == H_(738e923c,a1b65954)) { /* push */ |
1750 | if (cp->curpack < CPARSE_MAX_PACKSTACK) { | 1750 | if (cp->curpack < CPARSE_MAX_PACKSTACK-1) { |
1751 | cp->packstack[cp->curpack+1] = cp->packstack[cp->curpack]; | 1751 | cp->packstack[cp->curpack+1] = cp->packstack[cp->curpack]; |
1752 | cp->curpack++; | 1752 | cp->curpack++; |
1753 | } else { | ||
1754 | cp_errmsg(cp, cp->tok, LJ_ERR_XLEVELS); | ||
1753 | } | 1755 | } |
1754 | } else if (cp->str->hash == H_(6c71cf27,6c71cf27)) { /* pop */ | 1756 | } else if (cp->str->hash == H_(6c71cf27,6c71cf27)) { /* pop */ |
1755 | if (cp->curpack > 0) cp->curpack--; | 1757 | if (cp->curpack > 0) cp->curpack--; |