From cc4be225a8c1dd5f42a4c4b6356b0b351b6e85d5 Mon Sep 17 00:00:00 2001 From: mrkn Date: Mon, 26 Feb 2018 07:31:10 +0000 Subject: Check the result of to_int in Kernel#Integer [ruby-core:85813] [Bug #14552] * object.c (rb_convert_to_integer): Check the result of to_int in Kernel#Integer * test/ruby/test_integer.rb: add tests. * spec/ruby/core/kernel/Integer_spec.rb: fix examples. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'object.c') diff --git a/object.c b/object.c index eba14e0c65..f51d7d43fe 100644 --- a/object.c +++ b/object.c @@ -3132,7 +3132,7 @@ rb_convert_to_integer(VALUE val, int base) rb_raise(rb_eArgError, "base specified for non string value"); } tmp = convert_type(val, "Integer", "to_int", FALSE); - if (NIL_P(tmp)) { + if (!RB_INTEGER_TYPE_P(tmp)) { return rb_to_integer(val, "to_i"); } return tmp; -- cgit v1.2.3