diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 4 | ||||
-rw-r--r-- | version.h | 6 |
3 files changed, 11 insertions, 5 deletions
@@ -1,3 +1,9 @@ +Mon Aug 20 17:25:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org> + + * eval.c (mnew): should preserve noex as safe_level. + + * eval.c (rb_call0): tighten security check condition.. + Sat Aug 18 21:32:20 2007 Tanaka Akira <akr@fsij.org> * lib/tmpdir.rb (Dir.mktmpdir): new method. @@ -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; @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.6" -#define RUBY_RELEASE_DATE "2007-08-18" +#define RUBY_RELEASE_DATE "2007-08-20" #define RUBY_VERSION_CODE 186 -#define RUBY_RELEASE_CODE 20070818 +#define RUBY_RELEASE_CODE 20070820 #define RUBY_PATCHLEVEL 5000 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 6 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 8 -#define RUBY_RELEASE_DAY 18 +#define RUBY_RELEASE_DAY 20 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; |