ruby-trunk-changes r30654 - r30659

今日は openssl の ASN1 デコーダのエラーチェックの修正と、潜在的な不正メモリアクセスの修正が入っています。

naruse:r30654 2011-01-26 10:38:05 +0900

String#=~ の rdoc で、デフォルト(右辺が Regexp でない時)で呼ばれる Object#=~ が常に nil を返すのに false を返すと書かれていたのを修正しています。[ruby-core:34562] [Bug #4292]

svn:r30655 2011-01-26 10:38:07 +0900

version.h の日付更新。

nahi:r30656 2011-01-26 17:17:01 +0900

OpenSSL::ASN1.decode で "indefinite length primitive encoding" なデータは不正なので例外を発生させるようにしています。ASN1 のことを知らないのでよくわかりませんが、primitive なデータのデータ長のレコードに 0 が入ってたらエラーという感じのようです。テストがついているので詳しくはそちらを参照してください。[Bug #4324]

nagachika:r30657 2011-01-26 22:34:20 +0900

対応する catch が存在しない throw を実行した時の処理に、コンパイラの最適化で一時オブジェクトが GC されてしまい不正メモリアクセスしてしまう潜在的な不具合を修正しています。わたしの初コミットです!! [Bug #4322] [ruby-dev:43108]

akr:r30658 2011-01-26 22:45:42 +0900

template/id.h.tmpl (id.h の元)の関数マクロの引数にかっこをつける修正です。

nagachika:r30659 2011-01-26 22:59:20 +0900

特異メソッドを持つオブジェクトの Object#clone などで clone_method() 内の一時オブジェクトがコンパイラの最適化で GC されてしまい不正メモリアクセスをおこす潜在的な不具合を修正しています。[Bug #4321] [ruby-dev:43107]