Properly fix loading of embedded bytecode.

master
Mike Pall 2013-09-20 11:36:33 +02:00
parent 54af4e7c76
commit 47df3ae513
1 changed files with 2 additions and 1 deletions

View File

@ -446,7 +446,8 @@ GCproto *lj_bcread(LexState *ls)
setprotoV(L, L->top, pt);
incr_top(L);
}
if (ls->p < ls->pe || L->top-1 != bcread_oldtop(L, ls))
if ((int32_t)(2*(uint32_t)(ls->pe - ls->p)) > 0 ||
L->top-1 != bcread_oldtop(L, ls))
bcread_error(ls, LJ_ERR_BCBAD);
/* Pop off last prototype. */
L->top--;