aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/objspace/objspace.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c
index 6dce515bf6..bddc1ceed1 100644
--- a/ext/objspace/objspace.c
+++ b/ext/objspace/objspace.c
@@ -679,7 +679,9 @@ reachable_object_from_root_i(const char *category, VALUE obj, void *ptr)
rb_hash_aset(data->categories, category_str, category_objects);
}
- if (rb_objspace_markable_object_p(obj)) {
+ if (rb_objspace_markable_object_p(obj) &&
+ obj != data->categories &&
+ obj != data->last_category_objects) {
if (rb_objspace_internal_object_p(obj)) {
obj = iow_newobj(obj);
}