php-master-changes 2019-02-22

今日は sodium の文字列終端処理の修正、typo の修正、使われていない m4 マクロの削除、誤ったメモリリークレポートの修正方法の修正、テストの並列実行対応、com_dotnet での無駄な文字列アロケーションを回避する修正、無名クラスのインスタンスから実装しているインターフェースの情報が取れなくなる場合がある問題の修正、windows 版 popen() の引数チェック方法の修正、誤って BOM の含まれていたファイルの修正、opcache の実装修正数点があった！

# 2019-02-22
## jedisct1: Fix bug [#77646](https://bugs.php.net/bug.php?id=77646)
- https://github.com/php/php-src/commit/ad3dac378e019590855c462ac69d1bda421520bb
- [7.2~]
- ext/sodium で、[sodium_crypto_sign_detached()](http://php.net/manual/ja/function.sodium-crypto-sign-detached.php) の処理内で文字列の終端を正しく行っていない問題の修正

## villfa: Fix typo in error message
- https://github.com/php/php-src/commit/9a4926b25fc54dd563d2f8ca90febf3ed0206c31
- [7.4~]
- ext/mysqlnd で、エラーメッセージの typo を修正

## petk: Remove unused PDO_MYSQL_LIB_CHK m4 macro
- https://github.com/php/php-src/commit/dd9a7d91a5786da2c0f2ac47667944f17500e47e
- [7.4~]
- ext/pdo_mysql で、使われていない m4 マクロ PDO_MYSQL_LIB_CHK を削除

## krakjoe: Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags"
- https://github.com/php/php-src/commit/0bbbd0f9e7449a2f204f959d06e5266175a86be9
- [7.4~]
- [前日の修正](https://qiita.com/sj-i/items/1b0d47b0df607f250f0f#krakjoe-zend_get_call_op-ignoring-compiler-flags-zend_get_call_op-will-ignore-zend_compile_ignore_user_functions-and-zend_compile_ignore_user_functions-breaking-the-intention-of-these-flags) をリバート
- どこかで「それが必要になるケースは無い」的な文句を言われたらしい

## krakjoe: While the compiler does not have the FBC set for zend_get_call_op, optimizer does, and so incorrectly results in ignoring these flags.
- https://github.com/php/php-src/commit/4d3415636d4e68144c08ce77f0430c4702782c55
- [7.4~]
- 「いや、やっぱあるって！」と確認してリバートをリバート

## dstogov: Use different method to suppress "false" memory leak reports
- https://github.com/php/php-src/commit/22691f9ef7491de61d31783cffaf6d325c48b63e
- [7.4~]
- [前日の修正](https://qiita.com/sj-i/items/1b0d47b0df607f250f0f#dstogov-supress-memory-leak-reports)を別対応に修正してる

## cmb69: Properly clean up test case
- https://github.com/php/php-src/commit/f319419d51873c3134e7e8c5681edf23a8d9c4dd
- [7.4~]
- テストで作ったディレクトリを適切に掃除するよう修正

## nikic: Fixed bug [#77652](https://bugs.php.net/bug.php?id=77652)
- https://github.com/php/php-src/commit/538814385569525443c96e131d346a8fd7b6cbe3
- [7.2~]
- インターフェースを実装した無名クラスのインスタンスを return で返すクロージャを返すファイルを複数回 include した際、実装している筈のインターフェースの情報がインスタンスから取れなくなる問題の修正

## cmb69: Avoid potentially superfluous string reallocation
- https://github.com/php/php-src/commit/427ebce6295b296c1f18f6bd927bf3cd295be815
- [7.4~]
- ext/com_dotnet で、無駄な文字列アロケーションの発生を回避

## nikic: Stricter validation for popen mode argument on Windows
- https://github.com/php/php-src/commit/914c1ec1d4e65ac599762388df5a22696e2f968b
- Windows 版で、[popen()](http://php.net/manual/ja/function.popen.php) のモード指定引数のバリデーションを Linux のものに合わせた

## nikic: Use separate files in phar tests
- https://github.com/php/php-src/commit/d3e00decd425982e5b12db5c92f5c902cffdf1af
- [7.4~]
- ext/phar で、テストに使うファイルをテストケースごと別々にするよう修正
- 並列実行対応

## cmb69: Fix [#77648](https://bugs.php.net/bug.php?id=77648): BOM in sapi/apache2handler/php_functions.c
- https://github.com/php/php-src/commit/831eba0eac5c94ed492ab153cfd62a60436933ed
- [7.3~]
- sapi/apache2handler で、ソースコードに BOM の含まれていたものがあったのを修正

## nikic: Fix more file name collisions in phar tests
- https://github.com/php/php-src/commit/e2cc0b823cbeb57ded6366a5710b359088e6e1d6
- ext/phar で、テストでのファイル名衝突を修正
- 並列実行対応

## nikic: Fix directory collisions in zlib tests
- https://github.com/php/php-src/commit/1c9fe3042560b63b35daefbe57306c4164a672af
- ext/zlib で、テストでのディレクトリの衝突を修正
- 並列実行対応

## nikic: Fix get_unresolved_initializer for static props
- https://github.com/php/php-src/commit/bb75a537719c3b749548e4a4d133a7b5b778b468
- [7.4~]
- ext/opcache で、静的プロパティへのアクセス処理を修正

## nikic: Fix inference warning about missing key type
- https://github.com/php/php-src/commit/2cfb09caa775a7b5851f2ee10fac3c870344a181
- [7.2~]
- ext/opcache で、型推論処理の修正をしているのは分かる、けどちゃんと追えておらず

## nikic: Fix removal of unreachable code in SCCP
- https://github.com/php/php-src/commit/ea115a617fea566bda787ad77ae9f9d0396da203
- [7.4~]
- ext/opcache で、SCCP のデッドコード削除をループ変数がある場合しかしていなかった？のを修正

## nikic: Remove result def during jmp_set optimization
- https://github.com/php/php-src/commit/66fda0cdb1937ba1c3c5bfaebf2523b7978dd8f3
- [7.3~]
- ext/opcache で、JMP_SET あたりのバイトコード最適化処理を修正してるっぽいがちゃんと追えておらず