ruby-trunk-changes r30645 - r30653

今日は潜在的な不正なメモリアクセスの修正が含まれています。

kosaki:r30645 2011-01-25 03:23:05 +0900

r30643 の ALLOCA_N から ALLOC_N への変更はさらに rb_str_tmp_new() による一時 String オブジェクトのバッファを利用するように変更されています。ここから呼び出されている rb_cstr_to_dbl() は中で例外を発生することがあるので、その時にメモリリークしないようにオブジェクトを利用しています。

svn:r30646 2011-01-25 03:23:06 +0900

version.h の日付更新。

kosaki:r30647 2011-01-25 03:25:20 +0900

test_thread.rb に ConditionVariable のテストケースがいくつか追加されています。

nobu:r30648 2011-01-25 07:00:55 +0900

rb_string_value_cstr() (StringValueCStr マクロから呼ばれています)で NUL 終端した C の文字列を作る時に rb_str_modify() を呼ぶと文字列のバッファが新しく確保されてコピーされる可能性があるのに、その前のバッファをそのまま返してしまっていたのを修正。たぶん [ruby-dev:43094] [Bug #4319] の修正です。

kazu:r30649 2011-01-25 07:50:15 +0900

NEWS ファイルの項目のクラス名の修正や記述位置の修正です。

kazu:r30650 2011-01-25 07:50:18 +0900

test_thread.rb に追加した ConditioinVariable のテストで同じ名称のメソッドになっていたものを改名。

kazu:r30651 2011-01-25 07:50:21 +0900

test_thread.rb から未使用の変数を削っています(警告除去)。

nobu:r30652 2011-01-25 08:28:22 +0900

rb_str_resize() でサイズを小さくする時にコピーするサイズが元の文字列長のままで不正メモリアクセスになる可能性があったのを修正。rb_str_resize() はあちこちで使用されているので

nobu:r30653 2011-01-25 08:42:01 +0900

dln_find_1() でファイルパスが長すぎる時のメッセージでファイルパス/ファイル名を全て表示するのではなく適当に省略するようにしています。