diff options
author | Peter Zhu <[email protected]> | 2022-10-05 15:19:43 -0400 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2022-10-06 09:01:12 -0400 |
commit | 76bae60d9b967415c5930c2c5906e14c8362a6dd (patch) | |
tree | 0cb9fba5afd5eac99ed5e7d1cd2f8799b3adb625 /lib/rdoc/markdown.rb | |
parent | e696ec67ac7bd14ff8436f9ee7724c17c5bf6689 (diff) |
[Bug #19038] Fix corruption of generic_iv_tbl when compacting
When the generic_iv_tbl is resized up, rebuild_table performs
allocations that can trigger GC. If autocompaction is enabled, then
moved objects are removed from and inserted into the generic_iv_tbl.
This may cause another call to rebuild_table to resize the
generic_iv_tbl. When returning back to the original rebuild_table, some
of the data may be stale, causing the generic_iv_tbl to be corrupted.
This commit changes rebuild_table to only read data from the st_table
after the allocations have completed.
Co-Authored-By: Matt Valentine-House <[email protected]>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6494
Diffstat (limited to 'lib/rdoc/markdown.rb')
0 files changed, 0 insertions, 0 deletions