今日は PDO のコンストラクタに参照を持つオプション配列を渡すと正常動作しない問題の修正、CPUID 利用方法の誤りによる AVX2 誤検知の修正があった!
2019-01-03
nikic: Fixed bug #77273
- https://github.com/php/php-src/commit/cb009b12a54c3dbb0e10b79c6ca77db8736d55b9
- [7.2~]
- ext/pdo で、参照の入る配列を PDO のコンストラクタに渡してインスタンスを生成する際に失敗する問題の修正
- zend_hash_index_find_deref() は zend_hash_index_find() の見つけてきた要素が参照だった場合のデリファレンスを伴う版
- しかしこういう系、参照かどうかの判定がふつうに UNEXPECTED の分岐予測ヒント付くのになんかふく(普通に考えてそりゃそうだ、というやつではあるが)
nikic: Possible fix for bug #77357
- https://github.com/php/php-src/commit/5a361c3a54c055cdf7088e76aa8efa159334e096
- [7.3~]
- base64_encode() / base64_decode() が esx -> OpenStack -> Windows 2012R2 のように VM をネストした環境等で失敗する問題の修正
- AVX2 が利用できない環境の筈なのに AVX2 命令を使うコードを起動しようとしてしまう
- CPUID の利用方法に誤りがあり、利用できる最大の機能レベルが 7 未満(AVX2 使用不能)の際に CPUID
を 7 で呼ぶのをやめた