Actions
Bug #3872
closedis test/-ext-/test_bug-3652.rb correct?
Description
=begin
手元で表題のテストがFailureになるのでコードを見ながら考えてみたのですが、
ext/-test-/bug-3652/bug.cのbug_str_resize()内では、
(1) rb_str_buf_new()を使って、指定されたcapaを持つStringを生成して、
(2) そのStringのRSTRING_PTRに、指定された文字列を入れ込んで、
(3) そのStringを指定された長さにrb_str_resize()する
という処理をしていますが、(1)で生成されたStringはcapaはセットされていても
lenは0のままなので、(3)でresizeされる際にRSTRING_PTRが別のポインタに変化した
場合、中身はコピーされません。
string.cの1738行目¶
というわけで、このテスト自体は失敗して当然に見えるのですが、おかしいのは
テストなのか、他の部分なのか、どこでしょうか?
=end
Actions
Like0
Like0