From 3106687fec3d447d77b93c93042ff932d782b0d4 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Fri, 7 Sep 2007 05:41:16 +0000 Subject: * array.c (rb_ary_subseq): need integer overflow check. [ruby-dev:31736] * array.c (rb_ary_splice): ditto. [ruby-dev:31737] * array.c (rb_ary_fill): ditto. [ruby-dev:31738] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_5@13375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- array.c | 4 ++-- version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/array.c b/array.c index 0cb45ec8d6..baae2706e5 100644 --- a/array.c +++ b/array.c @@ -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; } diff --git a/version.h b/version.h index adcee4a053..2f89488e89 100644 --- a/version.h +++ b/version.h @@ -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 -- cgit v1.2.3