[#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:21192] check type of Data_Wrap_Struct

From: "U.Nakamura" <usa@...>
Date: 2003-08-13 05:14:42 UTC
List: ruby-dev #21192
こんにちは、なかむら(う)です。

ruby-bugs PR#1109の件ですが、要するにext/Win32API/Win32API.c
の中でData_Wrap_Structの第一引数にクラスじゃないオブジェクト
を渡しているのが原因でした。

それ自体はバグなので直しましたが、このバグはObjectSpace.each_object
くらいでしか発覚せず、しかもそこで発覚しても原因を探るのがと
ても面倒です。
そもそもData_Wrap_Structを呼び出す時点で間違っているのですか
ら、Data_Wrap_Struct(というかその実体のrb_data_object_alloc)
で第一引数をチェックしてエラーを出しちゃうというのはどうでし
ょうか?

Index: gc.c
===================================================================
RCS file: /home/cvs/ruby/gc.c,v
retrieving revision 1.153
diff -u -1 -p -w -r1.153 gc.c
--- gc.c	6 Aug 2003 21:50:05 -0000	1.153
+++ gc.c	13 Aug 2003 05:02:12 -0000
@@ -344,2 +344,3 @@ rb_data_object_alloc(klass, datap, dmark
     NEWOBJ(data, struct RData);
+    Check_Type(klass, T_CLASS);
     OBJSETUP(data, klass, T_DATA);

それでは
-- 
U.Nakamura <usa@osb.att.ne.jp>



In This Thread

Prev Next