summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eval.c5
-rw-r--r--regex.c2
-rw-r--r--variable.c3
4 files changed, 5 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 303900fbad..d6113d2864 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,10 @@ Wed Sep 25 17:46:46 2002 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/mkmf.rb (libpathflag): restore ENV['LIB'] when some error occured.
+Wed Sep 25 16:14:51 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * regex.c (re_match): p1 may exceed pend limit.
+
Mon Sep 23 23:22:43 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* eval.c (rb_call0): must not clear ruby_current_node, or
diff --git a/eval.c b/eval.c
index 958346deed..1bfdee87fb 100644
--- a/eval.c
+++ b/eval.c
@@ -3161,11 +3161,6 @@ rb_eval(self, n)
if (RTEST(ruby_verbose) && ruby_class == origin && body->nd_cnt == 0) {
rb_warning("method redefined; discarding old %s", rb_id2name(node->nd_mid));
}
- if (node->nd_noex) { /* toplevel */
- /* should upgrade to rb_warn() if no super was called inside? */
- rb_warning("overriding global function `%s'",
- rb_id2name(node->nd_mid));
- }
}
if (node->nd_noex == NOEX_PUBLIC) {
diff --git a/regex.c b/regex.c
index e9617a628f..8c795051a7 100644
--- a/regex.c
+++ b/regex.c
@@ -4017,7 +4017,7 @@ re_match(bufp, string_arg, size, pos, regs)
else
break;
}
- if ((enum regexpcode)*p1 == jump)
+ if (p1 < pend && (enum regexpcode)*p1 == jump)
p[-1] = unused;
else
PUSH_FAILURE_POINT(0, 0);
diff --git a/variable.c b/variable.c
index 255854d8f0..4d3944d60b 100644
--- a/variable.c
+++ b/variable.c
@@ -143,9 +143,6 @@ classname(klass)
VALUE path = Qnil;
ID classpath = rb_intern("__classpath__");
- if (TYPE(klass) == T_ICLASS) {
- klass = RBASIC(klass)->klass;
- }
klass = rb_class_real(klass);
if (!klass) klass = rb_cObject;
if (ROBJECT(klass)->iv_tbl &&