Project

General

Profile

Bug #2375 ยป protected_singleton_method.diff

a patch to forbid protected singleton calles from other instances - shugo (Shugo Maeda), 11/16/2009 02:26 PM

View differences:

vm_eval.c (working copy)
if (self == Qundef) {
self = th->cfp->self;
}
if (!rb_obj_is_kind_of(self, rb_class_real(defined_class))) {
if (!rb_obj_is_kind_of(self, defined_class)) {
return NOEX_PROTECTED;
}
}
vm_insnhelper.c (working copy)
defined_class = RBASIC(defined_class)->klass;
}
if (!rb_obj_is_kind_of(cfp->self, rb_class_real(defined_class))) {
if (!rb_obj_is_kind_of(cfp->self, defined_class)) {
val = vm_method_missing(th, id, recv, num, blockptr, NOEX_PROTECTED);
}
else {
    (1-1/1)