[#30743] 大きな数の大まかな割り算 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

17 messages 2007/05/01

[#30827] Supporting Fiber — SASADA Koichi <ko1@...>

 ささだです。

22 messages 2007/05/27

[ruby-dev:30836] [BUG] SEGV at ZSUPER in a block

From: nobu@...
Date: 2007-05-29 18:35:17 UTC
List: ruby-dev #30836
なかだです。

http://pc11.2ch.net/test/read.cgi/tech/1178167650/498 で、以下
のコードがSEGVするという話が出てます。

  class C0
    def a(*args) p "C0#a", args end
  end

  class C1 < C0
    def a() @h = Hash.new { super } end
    def b(k) @h[k] end
  end

  class C2 < C0
    h = nil
    define_method(:a) { h = Hash.new { super } }
    define_method(:b) { |k| h[k] }
  end

  c2 = C2.new
  c2.a
  c2.b 10

  c1 = C1.new
  c1.a
  c1.b 10 


Index: eval.c
===================================================================
--- eval.c	(revision 12402)
+++ eval.c	(working copy)
@@ -3505,4 +3505,8 @@ rb_eval(self, n)
 		    argv = RARRAY(RBASIC(ruby_scope)->klass)->ptr;
 		}
+		else if (!ruby_scope->local_vars) {
+		    argc = 0;
+		    argv = 0;
+		}
 		else {
 		    argv = ruby_scope->local_vars + 2;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next