summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--eval.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 839f65ba05..dad742b9fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ Thu Jun 26 17:43:41 2008 Yukihiro Matsumoto <[email protected]>
* variable.c (rb_f_trace_var): should not be allowed at safe level 4.
a patch from Keita Yamaguchi <keita.yamaguchi at gmail.com>.
+ * eval.c (rb_call0): wrong condition to check insecure method.
+ a patch from Keita Yamaguchi <keita.yamaguchi at gmail.com>.
+
Wed Jun 25 18:54:54 2008 NAKAMURA Usaku <[email protected]>
* lib/{cgi-lib,getopts,importenv}.rb: check caller[0] because when
diff --git a/eval.c b/eval.c
index 66d197a4b3..0d88c80e4d 100644
--- a/eval.c
+++ b/eval.c
@@ -5828,8 +5828,7 @@ rb_call0(klass, recv, id, oid, argc, argv, body, flags)
TMP_PROTECT;
volatile int safe = -1;
- if (NOEX_SAFE(flags) > ruby_safe_level &&
- ruby_safe_level == 0 && NOEX_SAFE(flags) > 2) {
+ if (NOEX_SAFE(flags) > ruby_safe_level && NOEX_SAFE(flags) > 2) {
rb_raise(rb_eSecurityError, "calling insecure method: %s",
rb_id2name(id));
}