ruby-changes:1908
From: ko1@a...
Date: 7 Sep 2007 16:46:53 +0900
Subject: [ruby-changes:1908] shyouhei - Ruby:r13399 (ruby_1_8_6): * array.c (rb_ary_subseq): need integer overflow check.
shyouhei 2007-09-07 16:46:40 +0900 (Fri, 07 Sep 2007) New Revision: 13399 Modified files: branches/ruby_1_8_6/ChangeLog branches/ruby_1_8_6/array.c branches/ruby_1_8_6/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_6/ChangeLog?r1=13399&r2=13398 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=13399&r2=13398 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/array.c?r1=13399&r2=13398 Index: ruby_1_8_6/array.c =================================================================== --- ruby_1_8_6/array.c (revision 13398) +++ ruby_1_8_6/array.c (revision 13399) @@ -606,7 +606,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; @@ -961,7 +961,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_6/ChangeLog =================================================================== --- ruby_1_8_6/ChangeLog (revision 13398) +++ ruby_1_8_6/ChangeLog (revision 13399) @@ -1,8 +1,12 @@ Fri Sep 7 16:39:23 2007 Yukihiro Matsumoto <matz@r...> - * array.c (rb_ary_fill): need integer overflow check. - [ruby-dev:31738] + * 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] + * string.c (rb_str_splice): integer overflow for length. [ruby-dev:31739] Index: ruby_1_8_6/version.h =================================================================== --- ruby_1_8_6/version.h (revision 13398) +++ ruby_1_8_6/version.h (revision 13399) @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2007-09-07" #define RUBY_VERSION_CODE 186 #define RUBY_RELEASE_CODE 20070907 -#define RUBY_PATCHLEVEL 99 +#define RUBY_PATCHLEVEL 100 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml