ruby-trunk-changes 2021-09-09

今日は String#initialize に静的領域をバッファにもつ文字列オブジェクトを渡した時におきるメモリリークの修正などがありました。

[5d81554281] Peter Zhu 2021-09-07 18:06:42 UTC

String オブジェクトを初期化する String#initialize に別の文字列オブジェクトが渡されてそれを複製する場合に struct RBasic::flags もコピーして STR_NOFREE フラグを落としていなかったので、このフラグを持つ静的領域のバッファを持つ特別の文字列オブジェクトを渡した場合にそのコピー後のオブジェクトも解放されなくなってしまいメモリリークの原因となっていたので STR_NOFEE フラグを落とすようにしています。そしてこの特別な文字列 0.to_s で意外と簡単に作れてしまうんですね。 [ruby-core:105170] [Bug #18154]

[2bd6c5dc16] Nobuyoshi Nakada 2021-09-09 04:25:44 UTC

拡張ライブラリ date の extconf.rb で have_var で timezone と altzone という変数の存在チェックをする時に -Werror オプションをつけて警告が出る場合はないものと判定して使わないようにしています。

[847c70011e] git 2021-09-09 05:51:47 UTC

version.h の日付更新