Fix memory leak of TypedData data in Namespace

This commit is contained in:
Peter Zhu 2025-10-17 21:41:12 -04:00
parent d7f412e685
commit eb4a6f0cda
Notes: git 2025-10-18 14:41:14 +00:00

View File

@ -208,7 +208,7 @@ free_loading_table_entry(st_data_t key, st_data_t value, st_data_t arg)
}
static void
namespace_entry_free(void *ptr)
namespace_root_free(void *ptr)
{
rb_namespace_t *ns = (rb_namespace_t *)ptr;
if (ns->loading_table) {
@ -218,6 +218,13 @@ namespace_entry_free(void *ptr)
}
}
static void
namespace_entry_free(void *ptr)
{
namespace_root_free(ptr);
xfree(ptr);
}
static size_t
namespace_entry_memsize(const void *ptr)
{
@ -242,7 +249,7 @@ const rb_data_type_t rb_root_namespace_data_type = {
"Namespace::Root",
{
rb_namespace_entry_mark,
namespace_entry_free,
namespace_root_free,
namespace_entry_memsize,
rb_namespace_gc_update_references,
},