summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-03 10:10:14 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-03 10:10:14 +0000
commit4d73f950682736914ae1a1935b0d224ffeb5ba9c (patch)
tree3b794d815771aef275512248cb47879f232237b2
parentc4f9dd26263da640a2c9a02c478df245685e2b69 (diff)
random.c, rational.c: make marshal methods private
* random.c (Init_Random), rational.c (Init_Rational): make marshal methods private. [Feature #6539] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--random.c4
-rw-r--r--rational.c4
-rw-r--r--test/ruby/test_rand.rb10
4 files changed, 14 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 11f95d4887..885efddcaa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec 3 19:10:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * random.c (Init_Random), rational.c (Init_Rational): make marshal
+ methods private. [Feature #6539]
+
Mon Dec 3 18:29:27 2012 Koichi Sasada <ko1@atdot.net>
* iseq.h: iseq_catch_table_entry::catch_type should be
diff --git a/random.c b/random.c
index e7e4ea7c24..50db6ec393 100644
--- a/random.c
+++ b/random.c
@@ -1463,8 +1463,8 @@ Init_Random(void)
rb_define_method(rb_cRandom, "bytes", random_bytes, 1);
rb_define_method(rb_cRandom, "seed", random_get_seed, 0);
rb_define_method(rb_cRandom, "initialize_copy", random_copy, 1);
- rb_define_method(rb_cRandom, "marshal_dump", random_dump, 0);
- rb_define_method(rb_cRandom, "marshal_load", random_load, 1);
+ rb_define_private_method(rb_cRandom, "marshal_dump", random_dump, 0);
+ rb_define_private_method(rb_cRandom, "marshal_load", random_load, 1);
rb_define_private_method(rb_cRandom, "state", random_state, 0);
rb_define_private_method(rb_cRandom, "left", random_left, 0);
rb_define_method(rb_cRandom, "==", random_equal, 1);
diff --git a/rational.c b/rational.c
index 855b187b1d..e4201ddd18 100644
--- a/rational.c
+++ b/rational.c
@@ -2432,9 +2432,9 @@ Init_Rational(void)
rb_define_method(rb_cRational, "to_s", nurat_to_s, 0);
rb_define_method(rb_cRational, "inspect", nurat_inspect, 0);
- rb_define_method(rb_cRational, "marshal_dump", nurat_marshal_dump, 0);
+ rb_define_private_method(rb_cRational, "marshal_dump", nurat_marshal_dump, 0);
compat = rb_define_class_under(rb_cRational, "compatible", rb_cObject);
- rb_define_method(compat, "marshal_load", nurat_marshal_load, 1);
+ rb_define_private_method(compat, "marshal_load", nurat_marshal_load, 1);
rb_marshal_define_compat(rb_cRational, compat, nurat_dumper, nurat_loader);
/* --- */
diff --git a/test/ruby/test_rand.rb b/test/ruby/test_rand.rb
index fe88305788..b482773c00 100644
--- a/test/ruby/test_rand.rb
+++ b/test/ruby/test_rand.rb
@@ -482,7 +482,7 @@ END
def test_marshal
bug3656 = '[ruby-core:31622]'
assert_raise(TypeError, bug3656) {
- Random.new.marshal_load(0)
+ Random.new.__send__(:marshal_load, 0)
}
end
@@ -496,19 +496,19 @@ END
def test_marshal_load_frozen
r = Random.new(0)
- d = r.marshal_dump
+ d = r.__send__(:marshal_dump)
r.freeze
assert_raise(RuntimeError, '[Bug #6540]') do
- r.marshal_load(d)
+ r.__send__(:marshal_load, d)
end
end
def test_marshal_load_insecure
r = Random.new(0)
- d = r.marshal_dump
+ d = r.__send__(:marshal_dump)
l = proc do
$SAFE = 4
- r.marshal_load(d)
+ r.__send__(:marshal_load, d)
end
assert_raise(SecurityError, '[Bug #6540]') do
l.call