From 0cd34e96396c0e552f323b2c908419cf158830ca Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 24 Feb 2016 02:38:43 +0000 Subject: [PATCH] vm_method.c: for hidden object * vm_method.c (rb_method_basic_definition_p): methods of hidden objects cannot be overridden, return TRUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_method.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vm_method.c b/vm_method.c index 66c783ce2a..e3c365dd42 100644 --- a/vm_method.c +++ b/vm_method.c @@ -1859,7 +1859,9 @@ rb_mod_modfunc(int argc, VALUE *argv, VALUE module) int rb_method_basic_definition_p(VALUE klass, ID id) { - const rb_method_entry_t *me = rb_method_entry(klass, id); + const rb_method_entry_t *me; + if (!klass) return TRUE; /* hidden object cannot be overridden */ + me = rb_method_entry(klass, id); return (me && METHOD_ENTRY_BASIC(me)) ? TRUE : FALSE; }