Browse Source

new definition for 'luaD_checkstack' to avoid possible overflows

pull/9/head
Roberto Ierusalimschy 16 years ago
parent
commit
abb85fc059
  1. 7
      ldo.h

7
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 ** Stack and Call structure of Lua
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -13,9 +13,8 @@
#include "lzio.h" #include "lzio.h"
#define luaD_checkstack(L,n) \ #define luaD_checkstack(L,n) if (L->stack_last - L->top <= (n)) \
if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \ luaD_growstack(L, n); else condmovestack(L);
luaD_growstack(L, n); else condmovestack(L);
#define incr_top(L) {L->top++; luaD_checkstack(L,0);} #define incr_top(L) {L->top++; luaD_checkstack(L,0);}

Loading…
Cancel
Save