Properly fix loading of embedded bytecode.

This commit is contained in:
Mike Pall 2013-09-20 11:36:33 +02:00
parent 54af4e7c76
commit 47df3ae513

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--;