diff options
-rw-r--r-- | array.c | 4 | ||||
-rw-r--r-- | version.h | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -598,7 +598,7 @@ rb_ary_subseq(ary, beg, len) if (beg > RARRAY(ary)->len) return Qnil; if (beg < 0 || len < 0) return Qnil; - if (beg + len > RARRAY(ary)->len) { + if (RARRAY(ary)->len < len || RARRAY(ary)->len < beg + len) { len = RARRAY(ary)->len - beg; if (len < 0) len = 0; @@ -953,7 +953,7 @@ rb_ary_splice(ary, beg, len, rpl) rb_raise(rb_eIndexError, "index %ld out of array", beg); } } - if (beg + len > RARRAY(ary)->len) { + if (RARRAY(ary)->len < len || RARRAY(ary)->len < beg + len) { len = RARRAY(ary)->len - beg; } @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2007-09-07" #define RUBY_VERSION_CODE 185 #define RUBY_RELEASE_CODE 20070907 -#define RUBY_PATCHLEVEL 107 +#define RUBY_PATCHLEVEL 108 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 |