From: nobu@... Date: 2015-01-12T07:46:03+00:00 Subject: [ruby-core:67526] [ruby-trunk - Bug #10731] [Closed] Segmentation fault when create alias to refined method Issue #10731 has been updated by Nobuyoshi Nakada. Status changed from Open to Closed % Done changed from 0 to 100 Applied in changeset r49221. ---------- vm_method.c: NameError at refined method alias * vm_method.c (rb_alias): raise a NameError when creating alias to a refined method if the original method of the refined method is not defined. [ruby-core:67523] [Bug #10731] ---------------------------------------- Bug #10731: Segmentation fault when create alias to refined method https://bugs.ruby-lang.org/issues/10731#change-50940 * Author: Seiei Higa * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.3.0dev (2015-01-12 trunk 49218) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- following code cause segmentation fault, both `foo` and `bar` is not defined in refined class, in trunk and 2.2.0, 2.1.5, 2.0.0 ``` ruby class C end module RefinementBug refine C do def foo end def bar end end end class C alias foo bar end ``` it should be raise a NameError if the original method of the refined method is not exist, like undef (#8966). ---Files-------------------------------- ruby_2015-01-12-135103_Nil.crash (11.3 KB) bug.rb (128 Bytes) 0001-vm_method.c-raise-a-NameError-when-create-alias-to-r.patch (1.77 KB) -- https://bugs.ruby-lang.org/