diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-07 05:28:26 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-07 05:28:26 +0000 |
commit | 2a7539afe7a6ab50697ed6fa24e3d70fb452f08f (patch) | |
tree | 92d6a217ff2bd95f059fb6e219db4ce86c656539 /eval.c | |
parent | a209dd2f60e641d1dc78997dfc47852685e22cc3 (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_5@13369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -5743,7 +5743,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)); } @@ -8912,7 +8912,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; |