summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 980efce99..3a28f2e1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 4 01:14:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (cvar_cbase): class variables cause SEGV in
+ instance_eval() for fixnums and symbols. [ruby-dev:24213]
+
Fri Sep 3 17:47:58 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* struct.c (make_struct): remove redefining constant when
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;
}