From d22e08f9375dbc0d0a962751d1c57f17b22f01b6 Mon Sep 17 00:00:00 2001 From: tarui Date: Sun, 10 Jul 2011 00:47:31 +0000 Subject: * range.c (range_max): fix behavior with excluded end value. [Bug #4591] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- range.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'range.c') diff --git a/range.c b/range.c index 083c70a165..b7ae19118e 100644 --- a/range.c +++ b/range.c @@ -665,6 +665,9 @@ range_max(VALUE range) rb_raise(rb_eTypeError, "cannot exclude non Integer end value"); } if (c == 0) return Qnil; + if (!FIXNUM_P(b) && !rb_obj_is_kind_of(b,rb_cInteger)) { + rb_raise(rb_eTypeError, "cannot exclude end value with non Integer begin value"); + } if (FIXNUM_P(e)) { return LONG2NUM(FIX2LONG(e) - 1); } -- cgit v1.2.3