diff options
| author | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-05-08 15:19:59 -0700 |
|---|---|---|
| committer | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-05-08 15:19:59 -0700 |
| commit | c53f87943e53c96b86d50b496d2a410ff1245b4c (patch) | |
| tree | 74534c3b471a850b5da580abfc093cbedeb95211 /spec/ruby/shared/basicobject | |
| parent | a95ca6d5e9c1c7371f7324159840ac1e8c013125 (diff) | |
Calling `obj_info` during sweep is unsafe
`obj_info` will look at references of objects in some cases (for example
it will try to access path information on ISeq objects). But during the
sweep phase, if the referenced object is collected before `obj_info` is
called, then it could be a bad ref and a segv will occur.
For example:
A -> B
Sweep phase:
1. obj_info(B)
2. Sweep and free B
3. obj_info(A); A tries to read B
4. SEGV
This commit simply removes the call to `obj_info` during the sweep
phase.
Diffstat (limited to 'spec/ruby/shared/basicobject')
0 files changed, 0 insertions, 0 deletions
