ruby-changes:1884
From: ko1@a...
Date: 7 Sep 2007 14:41:26 +0900
Subject: [ruby-changes:1884] shyouhei - Ruby:r13375 (ruby_1_8_5): * array.c (rb_ary_subseq): need integer overflow check.
shyouhei 2007-09-07 14:41:16 +0900 (Fri, 07 Sep 2007) New Revision: 13375 Modified files: branches/ruby_1_8_5/array.c branches/ruby_1_8_5/version.h Log: * 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] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_5/version.h?r1=13375&r2=13374 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_5/array.c?r1=13375&r2=13374 Index: ruby_1_8_5/array.c =================================================================== --- ruby_1_8_5/array.c (revision 13374) +++ ruby_1_8_5/array.c (revision 13375) @@ -598,7 +598,7 @@ 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_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; } Index: ruby_1_8_5/version.h =================================================================== --- ruby_1_8_5/version.h (revision 13374) +++ ruby_1_8_5/version.h (revision 13375) @@ -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 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml