commit a845a46cc883a76cb5175c0755805ba44a37d909
parent 097edd388494bf8d294adb101b9c5fda688813e1
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Thu, 14 Nov 2002 13:41:43 -0200
C function may leave garbage on the stack (besides return values)
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lua.c b/lua.c
@@ -1,5 +1,5 @@
/*
-** $Id: lua.c,v 1.106 2002/10/21 20:43:38 roberto Exp roberto $
+** $Id: lua.c,v 1.107 2002/11/11 13:28:06 roberto Exp roberto $
** Lua stand-alone interpreter
** See Copyright Notice in lua.h
*/
@@ -362,8 +362,10 @@ static int handle_argv (char *argv[], int *interactive) {
static void openstdlibs (lua_State *l) {
const luaL_reg *lib = lualibs;
- for (; lib->name; lib++)
- lua_pop(l, lib->func(l)); /* open library, discard any results */
+ for (; lib->name; lib++) {
+ lib->func(l); /* open library */
+ lua_settop(l, 0); /* discard any results */
+ }
}