소스 검색

bug (due to new handling of varargs)

Roberto Ierusalimschy 21 년 전
부모
커밋
c7dda42c2f
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      lvm.c

+ 3 - 2
lvm.c

@@ -1,5 +1,5 @@
 /*
-** $Id: lvm.c,v 2.11 2004/06/29 18:49:02 roberto Exp roberto $
+** $Id: lvm.c,v 2.12 2004/08/10 19:17:23 roberto Exp roberto $
 ** Lua virtual machine
 ** See Copyright Notice in lua.h
 */
@@ -623,7 +623,8 @@ StkId luaV_execute (lua_State *L, int nexeccalls) {
           if (L->openupval) luaF_close(L, base);
           for (aux = 0; pfunc+aux < L->top; aux++)  /* move frame down */
             setobjs2s(L, func+aux, pfunc+aux);
-          ci->top = L->top = base+aux;  /* correct top */
+          ci->top = L->top = func+aux;  /* correct top */
+          lua_assert(L->top == L->base + clvalue(func)->l.p->maxstacksize);
           ci->savedpc = L->ci->savedpc;
           ci->tailcalls++;  /* one more call lost */
           L->ci--;  /* remove new frame */