diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2022-04-29 18:54:16 -0400 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2022-05-30 13:54:22 -0400 |
commit | a687756284187887835aa345adc89b2718054e4a (patch) | |
tree | 19593deccf5df5fe758c1f9a00b616c54ec99e02 /yjit | |
parent | 3bef9584a879e8e29baf8e7a67383679d1ffb725 (diff) | |
download | ruby-a687756284187887835aa345adc89b2718054e4a.tar.gz |
Fix use-after-free with interacting TracePoints
`vm_trace_hook()` runs global hooks before running local hooks.
Previously, we read the local hook list before running the global hooks
which led to use-after-free when a global hook frees the local hook
list. A global hook can do this by disabling a local TracePoint, for
example.
Delay local hook list loading until after running the global hooks.
Issue discovered by Jeremy Evans in GH-5862.
[Bug #18730]
Diffstat (limited to 'yjit')
0 files changed, 0 insertions, 0 deletions