diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-17 20:10:08 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-17 20:10:08 +0900 |
| commit | 545c5eecc0e671e51bbff201a6a5e74d0c692066 (patch) | |
| tree | d7b084071134f78d9a5515e316faeea775581407 | |
| parent | 5b203ead1e5f642af7bbb2c1b4d28cf4c5737633 (diff) | |
| parent | 4319eaaa45ce26e73cfac6e1c8b724e35680577b (diff) | |
| download | mruby-545c5eecc0e671e51bbff201a6a5e74d0c692066.tar.gz mruby-545c5eecc0e671e51bbff201a6a5e74d0c692066.zip | |
Merge branch 'h2so5-string-nil-index'
| -rw-r--r-- | src/string.c | 4 | ||||
| -rw-r--r-- | test/t/string.rb | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c index 1c54ffa72..aa26b261c 100644 --- a/src/string.c +++ b/src/string.c @@ -781,6 +781,10 @@ num_index: } } default: + indx = mrb_Integer(mrb, indx); + if (mrb_nil_p(indx)) { + mrb_raise(mrb, E_TYPE_ERROR, "can't convert to Fixnum"); + } 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 |
