From 9a28ae921b9c789fa02a4931bebec46cd596acb4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 28 Jun 2014 01:08:23 +0900 Subject: ObjectSpace.each_object should filter out internal (i.e. obj->c == NULL) objects; ref #2429 --- mrbgems/mruby-objectspace/src/mruby_objectspace.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-objectspace/src/mruby_objectspace.c b/mrbgems/mruby-objectspace/src/mruby_objectspace.c index 8c7452c1e..e4d26221f 100644 --- a/mrbgems/mruby-objectspace/src/mruby_objectspace.c +++ b/mrbgems/mruby-objectspace/src/mruby_objectspace.c @@ -126,6 +126,9 @@ os_each_object_cb(mrb_state *mrb, struct RBasic *obj, void *ud) return; } + /* filter half baked (or internal) objects */ + if (!obj->c) return; + /* filter class kind if target module defined */ if (d->target_module && !mrb_obj_is_kind_of(mrb, mrb_obj_value(obj), d->target_module)) { return; -- cgit v1.2.3