summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-05 06:40:50 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-05 06:40:50 +0000
commit25443ab13b5e1ca433e8cac7ba5a15300bad3eaa (patch)
tree85afcc4a2e1075c4d7ccc5094743bc66cc9f0d22 /eval.c
parent3f9fd4191bb3c85267cff81c2d4f494cbaa97e80 (diff)
* eval.c (rb_add_method): should not call rb_secure(), for
last_func may not be set. * io.c (rb_io_ctl): ioctl should accept any integer within C long range. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index 6a8cf3f552..595bb8a3b3 100644
--- a/eval.c
+++ b/eval.c
@@ -227,10 +227,7 @@ rb_add_method(klass, mid, node, noex)
NODE *body;
if (NIL_P(klass)) klass = rb_cObject;
- if (klass == rb_cObject) {
- rb_secure(4);
- }
- if (rb_safe_level() >= 4 && !OBJ_TAINTED(klass)) {
+ if (rb_safe_level() >= 4 && (klass == rb_cObject || !OBJ_TAINTED(klass))) {
rb_raise(rb_eSecurityError, "Insecure: can't define method");
}
if (OBJ_FROZEN(klass)) rb_error_frozen("class/module");