* array.c (rb_ary_fill): check if beg is too big.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-07-01 04:19:47 +00:00
Родитель eb33f91cb7
Коммит 365f1cd57e
2 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Tue Jul 1 13:19:44 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* array.c (rb_ary_fill): check if beg is too big.
Tue Jul 1 12:01:16 2008 Koichi Sasada <ko1@atdot.net>
* compile.c, insns.def, vm.c, vm_core.h: remove some insns
@ -12,10 +16,10 @@ Tue Jul 1 12:01:16 2008 Koichi Sasada <ko1@atdot.net>
Tue Jul 1 03:28:16 2008 Eric Hodel <drbrain@segment7.net>
* test/rubygems/test_ext_configure_builder.rb: Apply locale-free
patch by Yusuke ENDOH. [ruby-core:17444].
patch by Yusuke ENDOH. [ruby-core:17444].
* runruby.rb: Set ENV['rake']. Patch by Yusuke ENDOH
[ruby-core:17442].
[ruby-core:17442].
Tue Jul 1 01:07:17 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>

Просмотреть файл

@ -2145,7 +2145,7 @@ rb_ary_fill(int argc, VALUE *argv, VALUE ary)
break;
}
rb_ary_modify(ary);
if (len > ARY_MAX_SIZE - beg) {
if (beg >= ARY_MAX_SIZE || len > ARY_MAX_SIZE - beg) {
rb_raise(rb_eArgError, "argument too big");
}
end = beg + len;