From 241e8db3f10570411d92d0905eed32fd3c9a9631 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Tue, 29 Dec 2009 02:34:15 +0100 Subject: [PATCH] Fix bad stack setup in collectgarbage(). --- src/lib_base.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib_base.c b/src/lib_base.c index 3762879a..34282cfc 100644 --- a/src/lib_base.c +++ b/src/lib_base.c @@ -354,14 +354,15 @@ LJLIB_CF(collectgarbage) "\4stop\7restart\7collect\5count\1\377\4step\10setpause\12setstepmul"); int32_t data = lj_lib_optint(L, 2, 0); if (opt == LUA_GCCOUNT) { - setnumV(L->top-1, cast_num((int32_t)G(L)->gc.total)/1024.0); + setnumV(L->top, cast_num((int32_t)G(L)->gc.total)/1024.0); } else { int res = lua_gc(L, opt, data); if (opt == LUA_GCSTEP) - setboolV(L->top-1, res); + setboolV(L->top, res); else - setintV(L->top-1, res); + setintV(L->top, res); } + L->top++; return 1; }