ruby-trunk-changes r37169 - r37174

今日は File.realpath にあった GC 保護漏れの修正などがありました。

naruse:r37169 2012-10-13 01:03:41 +0900

io/console のテストでテストできるかどうかの判定のため /dev/tty の存在チェックをしているところを、tty -s コマンドの実行をして、実際にプロセスが端末に接続しているかどうかで判定するようにしています。標準入力が端末でないと失敗するのでより確実な判定ができるということのようです。

svn:r37170 2012-10-13 01:03:45 +0900

version.h の日付更新。

usa:r37171 2012-10-13 01:38:52 +0900

正規表現の文字クラス([] で括られた、文字種を指定する表記部分)の中で範囲の指定のあとにハイフン(-)があり、さらにその次に特殊文字(の一部)があると SEGV するという不具合のテストだけ追加しています。 1.9.3 で報告された不具合ですが trunk では修正済みのようなのでテストのみ追加になっています。 [ruby-core:47115] [Bug #6853]

nobu:r37174 2012-10-13 03:01:56 +0900

File.realpath に一時的に作られたファイルパスの文字列オブジェクトが途中で上書きされているのに、そのバッファの内容を利用していたため GC によって解放済み領域にアクセスするおそれがあったため、元の文字列オブジェクトを変数に格納してGCから保護するようにしています。