]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.885 v7.3.885
authorBram Moolenaar <Bram@vim.org>
Fri, 12 Apr 2013 10:18:49 +0000 (12:18 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 12 Apr 2013 10:18:49 +0000 (12:18 +0200)
Problem:    Double free for list and dict in Lua. (Shougo Matsu)
Solution:   Do not unref list and dict. (Yasuhiro Matsumoto)

src/if_lua.c
src/version.c

index 1458593b1c6a7c594160c41d9f30478ab0c2e39f..0d1d08e2b73c345c4d905852840ccfe599acbd30 100644 (file)
@@ -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},
index 71a96b40a49b46ec371ca5db8582a20901ceac49..8acd839c9a215083fcbac0847a268548a60889f1 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    885,
 /**/
     884,
 /**/