[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — nobu.nakada@... 2003/08/22

なかだです。

[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — matz@... (Yukihiro Matsumoto) 2003/08/22

まつもと ゆきひろです

[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

16 messages 2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/08/29

まつもと ゆきひろです

[#21288] Re: 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...> 2003/08/29

永井@知能.九工大です.

[#21306] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/09/03

まつもと ゆきひろです

[ruby-dev:21118] Re: Method#to_proc

From: matz@... (Yukihiro Matsumoto)
Date: 2003-08-04 05:30:43 UTC
List: ruby-dev #21118
まつもと ゆきひろです

In message "[ruby-dev:21116] Re: Method#to_proc"
    on 03/08/04, nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:

|> デフォルトSVALUEだとenum.cなどがQundefが渡されることを想定し
|> ておらず、落ちます。デフォルトでは引数0でnilが渡るようにしよ
|> うと思ってました。元の問題は別の形で解決すべきでしょう。
|
|間にbmcall()が入るので、大丈夫そうに見えますが。

[ruby-dev:21108]のパッチを当てて

  ruby -e 'class Foo; def each; yield; end; include Enumerable; end; p Foo.new.to_a'

を実行すると落ちます。

適切と思われる修正はこっちです(コミットしました)。

--- eval.c	3 Aug 2003 14:56:54 -0000	1.504
+++ eval.c	4 Aug 2003 05:28:50 -0000	1.505
@@ -7606,2 +7606,3 @@ method_proc(method)
     nd_set_line(bdata->body, nd_line(mdata->body));
+    bdata->body->nd_state = YIELD_FUNC_SVALUE;
 

In This Thread

Prev Next