25 lines
847 B
Diff
25 lines
847 B
Diff
From 1de95e97ef65632a88e08b6184bd9d1ceba7ec2f Mon Sep 17 00:00:00 2001
|
|
From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
|
|
Date: Fri, 10 Dec 2021 10:53:54 -0300
|
|
Subject: [PATCH] Bug: Lua stack still active when closing a state
|
|
|
|
---
|
|
src/lstate.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/src/lstate.c b/src/lstate.c
|
|
index c5e3b43..38da773 100644
|
|
--- a/src/lstate.c
|
|
+++ b/src/lstate.c
|
|
@@ -271,6 +271,7 @@ static void close_state (lua_State *L) {
|
|
if (!completestate(g)) /* closing a partially built state? */
|
|
luaC_freeallobjects(L); /* jucst collect its objects */
|
|
else { /* closing a fully built state */
|
|
+ L->ci = &L->base_ci; /* unwind CallInfo list */
|
|
luaD_closeprotected(L, 1, LUA_OK); /* close all upvalues */
|
|
luaC_freeallobjects(L); /* collect all objects */
|
|
luai_userstateclose(L);
|
|
--
|
|
1.8.3.1
|
|
|