From 9a19613e43f65bfcd5228777e3cee6f20f7260bf Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 20 Aug 2007 08:28:04 +0000 Subject: * eval.c (mnew): should preserve noex as safe_level. * eval.c (rb_call0): tighten security check condition.. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13115 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 c896ed08bd..a1f4eb3eb9 100644 --- a/eval.c +++ b/eval.c @@ -5778,7 +5778,7 @@ rb_call0(klass, recv, id, oid, argc, argv, body, flags) volatile int safe = -1; if (NOEX_SAFE(flags) > ruby_safe_level && - !(flags&NOEX_TAINTED) && ruby_safe_level == 0 && NOEX_SAFE(flags) > 2) { + ruby_safe_level == 0 && NOEX_SAFE(flags) > 2) { rb_raise(rb_eSecurityError, "calling insecure method: %s", rb_id2name(id)); } @@ -9009,7 +9009,7 @@ mnew(klass, obj, id, mklass) data->body = body; data->rklass = rklass; data->oid = oid; - data->safe_level = NOEX_WITH_SAFE(0); + data->safe_level = NOEX_WITH_SAFE(noex); OBJ_INFECT(method, klass); return method; -- cgit v1.2.3