From 644cf03b7ec4c75c695de17286b3a99dd53184dd Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 12 Apr 2013 12:18:49 +0200 Subject: updated for version 7.3.885 Problem: Double free for list and dict in Lua. (Shougo Matsu) Solution: Do not unref list and dict. (Yasuhiro Matsumoto) --- src/if_lua.c | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'src/if_lua.c') diff --git a/src/if_lua.c b/src/if_lua.c index 1458593b1..0d1d08e2b 100644 --- a/src/if_lua.c +++ b/src/if_lua.c @@ -664,13 +664,6 @@ luaV_newlist (lua_State *L, list_T *lis) luaV_pushtype(list_T, list, luaV_List) luaV_type_tostring(list, LUAVIM_LIST) - static int -luaV_list_gc (lua_State *L) -{ - list_unref(luaV_unbox(L, luaV_List, 1)); - return 0; -} - static int luaV_list_len (lua_State *L) { @@ -801,7 +794,6 @@ luaV_list_insert (lua_State *L) static const luaL_Reg luaV_List_mt[] = { {"__tostring", luaV_list_tostring}, - {"__gc", luaV_list_gc}, {"__len", luaV_list_len}, {"__call", luaV_list_call}, {"__index", luaV_list_index}, @@ -829,13 +821,6 @@ luaV_newdict (lua_State *L, dict_T *dic) luaV_pushtype(dict_T, dict, luaV_Dict) luaV_type_tostring(dict, LUAVIM_DICT) - static int -luaV_dict_gc (lua_State *L) -{ - dict_unref(luaV_unbox(L, luaV_Dict, 1)); - return 0; -} - static int luaV_dict_len (lua_State *L) { @@ -929,7 +914,6 @@ luaV_dict_newindex (lua_State *L) static const luaL_Reg luaV_Dict_mt[] = { {"__tostring", luaV_dict_tostring}, - {"__gc", luaV_dict_gc}, {"__len", luaV_dict_len}, {"__call", luaV_dict_call}, {"__index", luaV_dict_index}, -- cgit v1.2.1