diff options
author | John Hawthorn <[email protected]> | 2025-06-13 18:52:32 -0700 |
---|---|---|
committer | John Hawthorn <[email protected]> | 2025-06-13 23:29:41 -0700 |
commit | 5342d9130beb44f9aa1dddbb7f6276bf01c7404f (patch) | |
tree | 3f1d94ccef51ca0ade4553ddc532bbfef222bc5a /include/ruby/impl/error.h | |
parent | 74cdf8727e6eb2f958a8516c44fcb1d429a3451c (diff) |
Fix generic_ivar_set_shape_field for table rebuild
[Bug #21438]
Previously GC could trigger a table rebuild of the generic fields
st_table in the middle of calling the st_update callback. This could
cause entries to be reallocated or rearranged and the update to be for
the wrong entry.
This commit adds an assertion to make that case easier to detect, and
replaces the st_update with a separate st_lookup and st_insert.
Co-authored-by: Aaron Patterson <[email protected]>
Co-authored-by: Jean Boussier <[email protected]>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/13589
Diffstat (limited to 'include/ruby/impl/error.h')
0 files changed, 0 insertions, 0 deletions