From a9b06707d99ea09d34823ae68aa3b874f5a661f8 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 18 Jun 2015 14:33:12 +0000 Subject: [PATCH] $SAFE=2 is now obsolete * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): fix safe_level limit. * vm_core.h (rb_proc_t): update comment for safe_level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/ruby.h | 4 ++-- vm_core.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 50dcd60167..a27fc5d637 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -589,7 +589,7 @@ int ruby_safe_level_2_warning(void) __attribute__((warning("$SAFE=2 to 4 are obs __builtin_constant_p(level), \ ((level) < 0 || RUBY_SAFE_LEVEL_MAX < (level)), 0)) # define RUBY_SAFE_LEVEL_CHECK(level, type) \ - __extension__(__builtin_choose_expr(RUBY_SAFE_LEVEL_INVALID_P(level), ruby_safe_level_3_##type(), (level))) + __extension__(__builtin_choose_expr(RUBY_SAFE_LEVEL_INVALID_P(level), ruby_safe_level_2_##type(), (level))) #else /* in gcc 4.8 or earlier, __builtin_choose_expr() does not consider * __builtin_constant_p(variable) a constant expression. @@ -598,7 +598,7 @@ int ruby_safe_level_2_warning(void) __attribute__((warning("$SAFE=2 to 4 are obs __extension__(__builtin_constant_p(level) && \ ((level) < 0 || RUBY_SAFE_LEVEL_MAX < (level))) # define RUBY_SAFE_LEVEL_CHECK(level, type) \ - (RUBY_SAFE_LEVEL_INVALID_P(level) ? ruby_safe_level_3_##type() : (level)) + (RUBY_SAFE_LEVEL_INVALID_P(level) ? ruby_safe_level_2_##type() : (level)) #endif #define rb_secure(level) rb_secure(RUBY_SAFE_LEVEL_CHECK(level, warning)) #define rb_set_safe_level(level) rb_set_safe_level(RUBY_SAFE_LEVEL_CHECK(level, error)) diff --git a/vm_core.h b/vm_core.h index 313e34f762..c0e63cd01e 100644 --- a/vm_core.h +++ b/vm_core.h @@ -796,7 +796,7 @@ typedef struct { VALUE envval; /* for GC mark */ VALUE blockprocval; - int8_t safe_level; /* 0..3 */ + int8_t safe_level; /* 0..1 */ int8_t is_from_method; /* bool */ int8_t is_lambda; /* bool */ } rb_proc_t;