diff options
| author | Yusuke Endoh <mame@ruby-lang.org> | 2024-11-28 13:57:56 +0900 |
|---|---|---|
| committer | Yusuke Endoh <mame@ruby-lang.org> | 2024-11-28 14:49:37 +0900 |
| commit | 38f76cb57a3829653c0dbfc9b6c51d3501b92ca1 (patch) | |
| tree | 09b1776e943b015fabdf4600a4d2fa942e3797fa /include/ruby | |
| parent | c0e607cef1fb6e1795b0969c1533b63dc349d484 (diff) | |
Avoid an operation on a pointer after free
A follow-up to ef59175a68c448fe334125824b477a9e1d5629bc. That commit
uses `&body->local_table[...]` but `body->local_table` is already freed.
I think it is an undefined behavior to calculate a pointer that exceeds
the bound by more than 1.
This change moves the free of `body->local_table` after the calculation.
Coverity Scan found this issue.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/12194
Diffstat (limited to 'include/ruby')
0 files changed, 0 insertions, 0 deletions
