From fd252fecf4f20284dddfcd7d5b9f019ceefef16d Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 10 Sep 2012 20:35:42 +0900 Subject: check special_const before calling respond_to? --- src/array.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/array.c b/src/array.c index 15b6df0f2..4992d3281 100644 --- a/src/array.c +++ b/src/array.c @@ -1054,7 +1054,8 @@ mrb_ary_equal(mrb_state *mrb, mrb_value ary1) mrb_value ary2; mrb_get_args(mrb, "o", &ary2); - if (mrb_obj_equal(mrb, ary1,ary2)) return mrb_true_value(); + if (mrb_obj_equal(mrb, ary1, ary2)) return mrb_true_value(); + if (SPECIAL_CONST_P(ary2)) return mrb_false_value(); if (mrb_type(ary2) != MRB_TT_ARRAY) { if (!mrb_respond_to(mrb, ary2, mrb_intern(mrb, "to_ary"))) { return mrb_false_value(); -- cgit v1.2.3