diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-07 06:52:05 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-07 06:52:05 +0000 |
commit | 27c7fd9acca91edb649d16cdd7822ac93f213c61 (patch) | |
tree | bdf2f038b4701f29a54192cfa13bcc6f14fabbf1 | |
parent | ef04db77f00578677ac5b19aa884077f24fdf8ec (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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 4 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +Fri Sep 7 15:50:50 2007 Yukihiro Matsumoto <matz@ruby-lang.org> + + * eval.c (mnew): should preserve noex as safe_level. + + * eval.c (rb_call0): tighten security check condition.. + Fri Sep 7 15:43:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc(). @@ -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; @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2007-09-07" #define RUBY_VERSION_CODE 186 #define RUBY_RELEASE_CODE 20070907 -#define RUBY_PATCHLEVEL 93 +#define RUBY_PATCHLEVEL 94 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 |