check loading object index range

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-12-08 14:33:11 +00:00
Родитель 6a105387ce
Коммит 6ee61d4bb9
1 изменённых файлов: 3 добавлений и 0 удалений

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

@ -7979,6 +7979,9 @@ ibf_load_object(const struct ibf_load *load, VALUE object_index)
if (object_index == 0) {
return Qnil;
}
else if (object_index >= load->header->object_list_size) {
rb_raise(rb_eIndexError, "object index out of range: %"PRIdVALUE, object_index);
}
else {
VALUE obj = rb_ary_entry(load->obj_list, (long)object_index);
if (obj == Qnil) { /* TODO: avoid multiple Qnil load */