diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2021-04-04 23:03:14 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2021-04-04 23:03:14 +0000 |
commit | 942129cdba1c2f36b7c4f0539df9b1d3e56339e4 (patch) | |
tree | fbc9f9e870908bb090fe1bca971f2a7d0a57f7d4 /vm_insnhelper.c | |
parent | 1bce19a7e573d94e99fb28601c483383b9ef56a4 (diff) |
merge revision(s) de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927,da5bd0047d6c961105da210c69d4c88421324b70,ce91c5615ca96f357519043181fb5b76b57ee223,c53aebb1d2eb5afbb18f9b3db9f9c956a463a4e1,d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]
Split test_defined
---
test/ruby/test_defined.rb | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
Test for [Bug #16669]
---
test/ruby/test_defined.rb | 8 ++++++++
1 file changed, 8 insertions(+)
Fix typo in test name
---
test/ruby/test_defined.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Split test_defined_method
---
test/ruby/test_defined.rb | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
Fixed `defined?` against protected method call
Protected methods are restricted to be called according to the
class/module in where it is defined, not the actual receiver's
class. [Bug #16931]
---
test/ruby/test_defined.rb | 1 +
vm_insnhelper.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 4a47a8ee5c..b3a89fca06 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2858,7 +2858,7 @@ vm_defined(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, rb_num_t op_ case METHOD_VISI_PRIVATE: break; case METHOD_VISI_PROTECTED: - if (!rb_obj_is_kind_of(GET_SELF(), rb_class_real(klass))) { + if (!rb_obj_is_kind_of(GET_SELF(), rb_class_real(me->defined_class))) { break; } case METHOD_VISI_PUBLIC: |