summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-14 12:56:16 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-14 12:56:16 +0000
commit4a761c320932ee03b5386d68411737f7fa7bd3e2 (patch)
tree67c21dd218bfa05fbf8b651bfbc616c5a002c37c /gc.c
parent85ca612b135c1ed47cc01be48e21f20fc7bd9ffc (diff)
* class.c (rb_mod_init_copy): fix memory leak of Class#dup.
[ruby-dev:39687] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index f472bfc734..9de079be14 100644
--- a/gc.c
+++ b/gc.c
@@ -1459,8 +1459,8 @@ free_method_entry_i(ID key, rb_method_entry_t *me, st_data_t data)
return ST_CONTINUE;
}
-static void
-free_m_table(st_table *tbl)
+void
+rb_free_m_table(st_table *tbl)
{
st_foreach(tbl, free_method_entry_i, 0);
st_free_table(tbl);
@@ -1988,7 +1988,7 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
case T_MODULE:
case T_CLASS:
rb_clear_cache_by_class((VALUE)obj);
- free_m_table(RCLASS_M_TBL(obj));
+ rb_free_m_table(RCLASS_M_TBL(obj));
if (RCLASS_IV_TBL(obj)) {
st_free_table(RCLASS_IV_TBL(obj));
}