Commit c8f2ecb
committed
Fix calling symbol proc from
Previously, resolve_refined_method() wrote to defined_class_ptr by using
rb_method_entry_t::defined_class, which by definition can be 0. Since
`*defined_class_ptr` is used as a back-up when
rb_method_entry_t::defined_class is 0, this wasn't a good strategy to
not have 0 at the end. This caused a crash since it overwrote a properly
set defined_class put by a `search_method*` function earlier.
Since resolve_refined_method() is always called after calling a
`search_method_*` function which writes through defined_class_ptr already,
just don't write through deinfed_class_ptr.
[Bug #21265]using scope outside1 parent 5cee332 commit c8f2ecb
2 files changed
Lines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2712 | 2712 | | |
2713 | 2713 | | |
2714 | 2714 | | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
2715 | 2727 | | |
2716 | 2728 | | |
2717 | 2729 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1636 | 1636 | | |
1637 | 1637 | | |
1638 | 1638 | | |
1639 | | - | |
1640 | 1639 | | |
1641 | 1640 | | |
1642 | 1641 | | |
| |||
0 commit comments