diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_bcread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_bcread.c b/src/lj_bcread.c index 9f025500..940db9dd 100644 --- a/src/lj_bcread.c +++ b/src/lj_bcread.c | |||
| @@ -446,7 +446,8 @@ GCproto *lj_bcread(LexState *ls) | |||
| 446 | setprotoV(L, L->top, pt); | 446 | setprotoV(L, L->top, pt); |
| 447 | incr_top(L); | 447 | incr_top(L); |
| 448 | } | 448 | } |
| 449 | if (ls->p < ls->pe || L->top-1 != bcread_oldtop(L, ls)) | 449 | if ((int32_t)(2*(uint32_t)(ls->pe - ls->p)) > 0 || |
| 450 | L->top-1 != bcread_oldtop(L, ls)) | ||
| 450 | bcread_error(ls, LJ_ERR_BCBAD); | 451 | bcread_error(ls, LJ_ERR_BCBAD); |
| 451 | /* Pop off last prototype. */ | 452 | /* Pop off last prototype. */ |
| 452 | L->top--; | 453 | L->top--; |
