diff options
author | Peter Zhu <[email protected]> | 2024-12-24 15:30:48 -0500 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2025-01-02 11:03:04 -0500 |
commit | b8c4af24f920a973cfa1f7b671825e8a5421368c (patch) | |
tree | af3ed1273af100bd89d4993427d1f89099e206de /prism/encoding.c | |
parent | f9cd9a1b5574e99c3b87cc203bba7f2c552dae53 (diff) |
Use rb_darray_insert_without_gc for heap_pages darray
rb_darray_insert could trigger a GC, which would cause problems if it
freed pages while a new page was being inserted.
For example, the following script fails:
GC.stress = true
GC.auto_compact = :empty
10.times do
GC.verify_compaction_references(expand_heap: true, toward: :empty)
end
It errors out with:
'GC.verify_compaction_references': malloc: possible integer overflow (8*18446744073709551603) (ArgumentError)
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/12459
Diffstat (limited to 'prism/encoding.c')
0 files changed, 0 insertions, 0 deletions