diff options
author | Luke Gruber <luke.gru@gmail.com> | 2019-06-22 11:25:52 -0400 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-06-23 00:49:24 +0900 |
commit | c033dc3073839e3578f1ba25d53b837974b56474 (patch) | |
tree | 87747b83fcedcc123b237bff91e4c62b21027696 /array.c | |
parent | fd9ac1e76bc8b347ad55fdf5991839c1df4e891a (diff) |
Fix issue with Array#rindex when rb_equal modifies receiver array
Fixes [Bug #15951]
Closes: https://github.com/ruby/ruby/pull/2250
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1805,6 +1805,9 @@ rb_ary_rindex(int argc, VALUE *argv, VALUE ary) if (rb_equal(e, val)) { return LONG2NUM(i); } + if (i > RARRAY_LEN(ary)) { + break; + } } return Qnil; } |