まつもと ゆきひろです

In message "Re: [ruby-dev:36738] Re: Assertion failed in array.c on mswin32 Ruby (trunk)"
    on Wed, 15 Oct 2008 15:24:48 +0900, "U.Nakamura" <usa / garbagecollect.jp> writes:

|直感に頼らないで真面目に原因を考えてみたところ、RESIZE_CAPA()
|の中で、capacityがlenより短い時にas.aryの終端を越えてコピーを
|してしまうことがある、ということのようです。
|例えば以下のパッチのようにすることが考えられますが、capacity
|がlenより短い場合に何が起こるべきかは考えないといけないように
|思います([BUG]とか)。

本来的な話をするとcapacityがlenよりも短いのはバグだと思うの
で、そのバグをつぶす必要があると思いますが。

|--- array.c	(revision 19786)
|+++ array.c	(working copy)

とりあえず、このパッチをコミットしていただいても構いません。