From 1c81bbf03533eb44f3c8f25a872ec85b6563c65f Mon Sep 17 00:00:00 2001 From: Satoshi Tagomori Date: Sat, 25 Oct 2025 13:35:47 +0900 Subject: [PATCH] free the entry after deleting the reference --- class.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/class.c b/class.c index 561823006a..f4e2cff2fd 100644 --- a/class.c +++ b/class.c @@ -613,17 +613,18 @@ remove_class_from_subclasses(struct st_table *tbl, VALUE ns_id, VALUE klass) next->prev = prev; } - xfree(entry); - if (first_entry) { if (next) { st_update(tbl, ns_id, remove_class_from_subclasses_replace_first_entry, (st_data_t)next); } else { - // no subclass entries in this ns + // no subclass entries in this ns after the deletion st_delete(tbl, &ns_id, NULL); } } + + xfree(entry); + break; } else if (first_entry) {