mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
st.c (rb_hash_bulk_insert_into_st_table): avoid out-of-bounds write "hash_bulk_insert" first expands the table, but the target size was wrong: it was calculated by "num_entries + (size to buld insert)", but it was wrong when "num_entries < entries_bound", i.e., it has a deleted entry. "hash_bulk_insert" adds the given entries from entries_bound, which led to out-of-bounds write access. [Bug #15536] As a simple fix, this commit changes the calculation to "entries_bound + size". I'm afraid if this might be inefficient, but I think it is safe anyway. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
|---|---|---|
| .. | ||
| pending.rb | ||
| runner.rb | ||
| test_attr.rb | ||
| test_autoload.rb | ||
| test_block.rb | ||
| test_class.rb | ||
| test_env.rb | ||
| test_eval.rb | ||
| test_exception.rb | ||
| test_finalizer.rb | ||
| test_flip.rb | ||
| test_flow.rb | ||
| test_fork.rb | ||
| test_gc.rb | ||
| test_insns.rb | ||
| test_io.rb | ||
| test_jump.rb | ||
| test_literal.rb | ||
| test_literal_suffix.rb | ||
| test_load.rb | ||
| test_marshal.rb | ||
| test_massign.rb | ||
| test_method.rb | ||
| test_objectspace.rb | ||
| test_proc.rb | ||
| test_string.rb | ||
| test_struct.rb | ||
| test_syntax.rb | ||
| test_thread.rb | ||