From 05b00a14c5081ee4bf362b12839dcbb94df1169a Mon Sep 17 00:00:00 2001 From: h2so5 Date: Wed, 17 Dec 2014 14:01:39 +0900 Subject: String#[] should reject nil index --- src/string.c | 1 + test/t/string.rb | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/string.c b/src/string.c index 1c54ffa72..2b1a27fee 100644 --- a/src/string.c +++ b/src/string.c @@ -781,6 +781,7 @@ num_index: } } default: + if (mrb_nil_p(indx)) mrb_raise(mrb, E_TYPE_ERROR, "can't convert nil into Integer"); idx = mrb_fixnum(indx); goto num_index; } diff --git a/test/t/string.rb b/test/t/string.rb index a56862fe2..63e4af000 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -72,6 +72,10 @@ assert('String#[]', '15.2.10.5.6') do assert_equal 'bc', e1 assert_equal 'bc', a3 assert_nil b3 + + assert_raise(TypeError) do + a[nil] + end end assert('String#[] with Range') do -- cgit v1.2.3