diff --git a/ChangeLog b/ChangeLog index 1996c22dab..edccc55586 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 20 17:31:17 2008 Yukihiro Matsumoto + + * error.c (exc_equal): should not compare recursively. + [ruby-dev:36796] + Mon Oct 20 16:48:43 2008 Yukihiro Matsumoto * include/ruby/ruby.h (ExportStringValue): new macro to convert diff --git a/error.c b/error.c index db75ebd2c7..3248335b96 100644 --- a/error.c +++ b/error.c @@ -558,7 +558,7 @@ exc_equal(VALUE exc, VALUE obj) if (exc == obj) return Qtrue; if (rb_obj_class(exc) != rb_obj_class(obj)) - return rb_equal(obj, exc); + return Qfalse; CONST_ID(id_mesg, "mesg"); if (!rb_equal(rb_attr_get(exc, id_mesg), rb_attr_get(obj, id_mesg))) return Qfalse;