今日はストリームラッパーでの未定義定数による SEGV の修正、break 2147483648 で SEGV を起こす問題の修正、コンパイラ警告の修正、一部テストケースの並列実行対応、getMessage() 等の getter を通して例外のプロパティへアクセスする際に参照だと正常動作しなかった問題の修正があった!
2019-02-25
laruence: Fixed bug #77664 (Segmentation fault when using undefined constant in custom wrapper)
- https://github.com/php/php-src/commit/4a72dd782df3089a0d944a7e51eabebdf1f1abc3
- [7.2~]
- 未定義定数を持つクラスをストリームラッパーに登録して利用しようとすると SEGV を起こす問題の修正
laruence: Update NEWS
- https://github.com/php/php-src/commit/3b5475e9ee48c27f7164eb1d9cbe873d2704b571
- [7.3~]
- ↑の 7.3 用の NEWS エントリの追記
laruence: Fixed bug #77660 (Segmentation fault on break 2147483648)
- https://github.com/php/php-src/commit/1c22ace0582fb0a2ec581237fcf1c5b9c41edd04
- [7.2~]
- PHP の break はネストレベルを数値指定することでネストしたループを抜けられるが、
break 2147483648
を指定すると SEGV が起きる問題の修正 - 過剰ボケとかオーバーリアクションに通じる系の笑いでなんかクスっときた
laruence: Update NEWS
- https://github.com/php/php-src/commit/fb3f078eeb4ecb2de783b7ee936dd583e6285d3e
- [7.3~]
- ↑の 7.3 用の NEWS エントリの追記
laruence: Fixed compiler warning
- https://github.com/php/php-src/commit/4ac954ac3e1217864e592ebb1531b4f0f31e2264
- [7.3~]
- continue が switch に適用される際の警告メッセージで、フォーマット文字列 "%d" を ZEND_LONG_FMT にしてコンパイラ警告を修正
nikic: Fix some port collisions in sockets tests
- https://github.com/php/php-src/commit/c937c55d7553a7fa99877998cd6617d9e82c7dd1
- ext/sockets のテストで、テストケース間のポート衝突の修正
- [7.4~]
- 並列実行対応
nikic: Fix some directory collisions in dir tests
- https://github.com/php/php-src/commit/251e94894694ae8ccaa75a43b574f544f3a8c203
- [7.4~]
- ディレクトリ操作系のテストで、テストケース間のディレクトリ衝突の修正
- 並列実行対応
nikic: Fix assertion in Exception::getMessage() if $message is a ref
- https://github.com/php/php-src/commit/af37d58cf7b77814b93ea97a8dcd2afb46c4424e
- [7.2~]
- Exception::getMessage() 等での例外の各プロパティへのアクセス時、プロパティが参照である可能性を考慮したコードに修正
- 参照ならデリファレンスするよう ZVAL_DEREF() を足してる