ruby-trunk-changes r63414 - r63417

今日は例外クラスの backtrace メソッドを再定義して不正な型を返すようにした時に SEGV することがある不具合の修正や String オブジェクトを一時バッファとして使っていたところの修正などがありました。

shyouhei: r63414 2018-05-14 12:30:03 +0900

process.c で argv や envp などのための char * 型の配列のバッファとして String オブジェクトのバッファを利用していたのを alignment の問題があるためにやめて、T_IMEMO 型のオブジェクトを利用したメモリ確保を使うようにしています。ただ元になるメモリは既に String オブジェクトとして用意されているので、そこからコピーする関数を rb_imemo_tmpbuf_auto_free_pointer_new_from_an_RString() として定義しています。

svn: r63415 2018-05-14 12:30:05 +0900

version.h の日付更新。

hsbt: r63416 2018-05-14 15:39:40 +0900

gems/bundled_gems の test-unit のバージョンを 3.2.7 -> 3.2.8 に更新しています。

nobu: r63417 2018-05-14 17:33:14 +0900

例外クラスの backtrace メソッドが配列でないオブジェクトを返すように再定義すると例外発生時に SEGV することがある不具合を修正しています。メソッド再定義されていた時のパスでも rb_check_backtrace() で backtrace の型をチェックするようにしています。 [ruby-core:87013] [Bug #14756]