From 8ee5c54bc5b0f5f174b65ae3de8d12f4c89ca5d5 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 15 Mar 2005 14:12:53 +0000 Subject: * eval.c (recursive_check, recursive_push): more restrictive check. fixed: [ruby-dev:25916] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index e50bbed4f..e2b04b709 100644 --- a/eval.c +++ b/eval.c @@ -13002,7 +13002,7 @@ recursive_check(obj) else { VALUE list = rb_hash_aref(hash, ID2SYM(ruby_frame->this_func)); - if (NIL_P(list)) return Qfalse; + if (NIL_P(list) || TYPE(list) != T_ARRAY) return Qfalse; return rb_ary_includes(list, rb_obj_id(obj)); } } @@ -13023,7 +13023,7 @@ recursive_push(obj) else { list = rb_hash_aref(hash, sym); } - if (NIL_P(list)) { + if (NIL_P(list) || TYPE(list) != T_ARRAY) { list = rb_ary_new(); rb_hash_aset(hash, sym, list); } -- cgit