summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-03 17:41:27 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-09-03 17:41:27 +0000
commitb0ab451c854cd362d1ee48ba5d5c8a606106da35 (patch)
tree4619c719138b76796a1a25db187e2f7bbe613d6c /eval.c
parentc29e1b147e52ad81554d94a422210f1c1ff97d9e (diff)
downloadruby-b0ab451c854cd362d1ee48ba5d5c8a606106da35.tar.gz
ruby-b0ab451c854cd362d1ee48ba5d5c8a606106da35.tar.xz
ruby-b0ab451c854cd362d1ee48ba5d5c8a606106da35.zip
* eval.c (cvar_cbase): class variables cause SEGV in
instance_eval() for fixnums and symbols. [ruby-dev:24213] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index e1599fe5d..71c012623 100644
--- a/eval.c
+++ b/eval.c
@@ -1777,6 +1777,9 @@ cvar_cbase()
rb_warn("class variable access from toplevel singleton method");
}
}
+ if (NIL_P(cref->nd_clss)) {
+ rb_raise(rb_eTypeError, "no class variables available");
+ }
return cref->nd_clss;
}