summaryrefslogtreecommitdiff
path: root/lstate.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2019-04-26 11:13:01 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2019-04-26 11:13:01 -0300
commit969b8c1f14f69c1406f00df3b5f375a9efb7b78f (patch)
tree02a8186ecb3689f171a65e45eecb3a11253bf680 /lstate.c
parentc65605151c5a335baf0a9ea251b19df5b2d3a905 (diff)
downloadlua-github-969b8c1f14f69c1406f00df3b5f375a9efb7b78f.tar.gz
Fixed bug with to-be-closed variables in base C level
To-be-closed variables in C use 'ci.nresults' to code that there is a variable to be closed in that function. The intialization of the base C level (the one "running" when calling API functions outside any Lua call) did not initialize 'ci.nresults', creating (correct) warnings in valgrind.
Diffstat (limited to 'lstate.c')
-rw-r--r--lstate.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lstate.c b/lstate.c
index 463a47d2..387cd362 100644
--- a/lstate.c
+++ b/lstate.c
@@ -196,6 +196,8 @@ static void stack_init (lua_State *L1, lua_State *L) {
ci->next = ci->previous = NULL;
ci->callstatus = CIST_C;
ci->func = L1->top;
+ ci->u.c.k = NULL;
+ ci->nresults = 0;
setnilvalue(s2v(L1->top)); /* 'function' entry for this 'ci' */
L1->top++;
ci->top = L1->top + LUA_MINSTACK;