summaryrefslogtreecommitdiff
path: root/marshal.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-12-12 07:35:27 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-12-12 07:35:27 +0000
commitd1e9d258044847768392cb6e33348fcbd6eb5b6f (patch)
tree59753353f974a09ebe8cdd41ea4085b030606a30 /marshal.c
parent817961e5d25921136d02976646ceca2966abe686 (diff)
* marshal.c (r_object0): singleton class instance can't be loaded. (ruby-bugs-ja:PR#366)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r--marshal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/marshal.c b/marshal.c
index 7575fa98f7..7176bdd6cd 100644
--- a/marshal.c
+++ b/marshal.c
@@ -799,6 +799,9 @@ r_object(arg)
{
VALUE c = rb_path2class(r_unique(arg));
+ if (FL_TEST(c, FL_SINGLETON)) {
+ rb_raise(rb_eTypeError, "singleton can't be loaded");
+ }
v = r_object(arg);
if (rb_special_const_p(v) || TYPE(v) == T_OBJECT || TYPE(v) == T_CLASS) {
format_error: