diff options
| author | NARUSE, Yui <naruse@airemix.jp> | 2023-01-19 09:31:47 +0900 |
|---|---|---|
| committer | NARUSE, Yui <naruse@airemix.jp> | 2023-01-19 09:31:47 +0900 |
| commit | 08ae7f64dc52c2b61e451d6e79ebdae73d482677 (patch) | |
| tree | 2fc12e225a3f03e41459f6ff56f941e918690856 /spec | |
| parent | d7fb4629b4058eb86be03760e6b9f1f272e44147 (diff) | |
merge revision(s) 273dca3aed7989120d57f80c789733d4bc870ffe: [Backport #19248]
Fix undefined behavior in shape.c
Under strict aliasing, writing to the memory location of a different
type is not allowed and will result in undefined behavior. This was
happening in shape.c due to `rb_id_table_lookup` writing to the memory
location of `VALUE *` that was casted from a `rb_shape_t **`.
This was causing test failures when compiled with LTO.
Fixes [Bug #19248]
Co-Authored-By: Alan Wu <alanwu@ruby-lang.org>
---
shape.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
Diffstat (limited to 'spec')
0 files changed, 0 insertions, 0 deletions
