From eae4b1e5c2b68206b0cdff17129458bec0a28c25 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Sat, 27 Mar 2021 10:41:42 +0100 Subject: luaref: fix leaks for global luarefs --- src/nvim/lua/executor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/nvim/lua/executor.c') diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index d4c6e8e02e..4274520e01 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -594,6 +594,10 @@ void nlua_free_all_mem(void) if (!global_lstate) { return; } + lua_State *lstate = global_lstate; + + nlua_unref(lstate, nlua_nil_ref); + nlua_unref(lstate, nlua_empty_dict_ref); #ifdef NLUA_TRACK_REFS if (nlua_refcount) { @@ -604,7 +608,7 @@ void nlua_free_all_mem(void) #endif nlua_refcount = 0; - lua_close(global_lstate); + lua_close(lstate); } static void nlua_print_event(void **argv) -- cgit