lua

A copy of the Lua development repository
Log | Files | Refs | README

commit abb85fc059a5d6427b9dc36edee1619f2c7a1da8
parent aabe3ddbf4514b6c80258e731fbe90e74edcdc94
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Wed,  8 Jul 2009 13:06:27 -0300

new definition for 'luaD_checkstack' to avoid possible overflows

Diffstat:
Mldo.h | 7+++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/ldo.h b/ldo.h @@ -1,5 +1,5 @@ /* -** $Id: ldo.h,v 2.12 2009/04/17 14:28:06 roberto Exp roberto $ +** $Id: ldo.h,v 2.13 2009/06/08 19:35:59 roberto Exp roberto $ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ @@ -13,9 +13,8 @@ #include "lzio.h" -#define luaD_checkstack(L,n) \ - if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \ - luaD_growstack(L, n); else condmovestack(L); +#define luaD_checkstack(L,n) if (L->stack_last - L->top <= (n)) \ + luaD_growstack(L, n); else condmovestack(L); #define incr_top(L) {L->top++; luaD_checkstack(L,0);}