summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 06:52:05 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-07 06:52:05 +0000
commit27c7fd9acca91edb649d16cdd7822ac93f213c61 (patch)
treebdf2f038b4701f29a54192cfa13bcc6f14fabbf1 /eval.c
parentef04db77f00578677ac5b19aa884077f24fdf8ec (diff)
* 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_6@13387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index fa0ed979a6..3dd107654d 100644
--- a/eval.c
+++ b/eval.c
@@ -5777,7 +5777,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));
}
@@ -9007,7 +9007,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;