Преглед изворни кода

Bug: Lua stack still active when closing a state

Roberto Ierusalimschy пре 3 година
родитељ
комит
1de95e97ef
1 измењених фајлова са 1 додато и 0 уклоњено
  1. 1 0
      lstate.c

+ 1 - 0
lstate.c

@@ -271,6 +271,7 @@ static void close_state (lua_State *L) {
   if (!completestate(g))  /* closing a partially built state? */
   if (!completestate(g))  /* closing a partially built state? */
     luaC_freeallobjects(L);  /* just collect its objects */
     luaC_freeallobjects(L);  /* just collect its objects */
   else {  /* closing a fully built state */
   else {  /* closing a fully built state */
+    L->ci = &L->base_ci;  /* unwind CallInfo list */
     luaD_closeprotected(L, 1, LUA_OK);  /* close all upvalues */
     luaD_closeprotected(L, 1, LUA_OK);  /* close all upvalues */
     luaC_freeallobjects(L);  /* collect all objects */
     luaC_freeallobjects(L);  /* collect all objects */
     luai_userstateclose(L);
     luai_userstateclose(L);