なかだです。 At Sat, 25 Sep 2004 02:26:49 +0900, Tanaka Akira wrote in [ruby-dev:24335]: > > 私のところでは起きません。ということは、[ruby-dev:24311]と同 > > 根なのかしら。コミットしてみますね。 > > いえ、状況はかわりません。 > ただ、boron で試すと、たしかに core を吐きませんね。 > > ... ゴミをひとけた増やすと boron でも落ちるようになりました。 単にエラーにするだけでOK?
Index: marshal.c =================================================================== RCS file: /cvs/ruby/src/ruby/marshal.c,v retrieving revision 1.115 diff -u -2 -p -r1.115 marshal.c --- marshal.c 17 Aug 2004 09:02:40 -0000 1.115 +++ marshal.c 27 Sep 2004 01:21:38 -0000 @@ -357,11 +357,15 @@ static void w_object _((VALUE,struct dum static int -hash_each(key, value, arg) +hash_each(key, value, arg, err) VALUE key, value; struct dump_call_arg *arg; + int err; { + if (err) { + rb_raise(rb_eRuntimeError, "hash modified during marshal dump"); + } w_object(key, arg->arg, arg->limit); w_object(value, arg->arg, arg->limit); - return ST_CONTINUE; + return ST_CHECK; }
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦