php-master-changes 2019-08-29

この日はシャットダウン処理の修正、オブジェクトのリーク検出精度向上のための修正、arginfo の PHP スタブへの移行、odbc_close() が ODBC 接続以外のリソースを食わせても閉じにいく問題の修正、Azure Pipelines の設定修正、ZFR エラー時の RETURN_FALSE 削除、幾つかの組み込み関数の警告を例外投げるエラーに昇格する修正、use-after-free の修正、md5 の実装で明示的に unaligned の整数型を使うようにする修正、継承時の参照カウント操作の修正があった！

# 2019-08-29
## nikic: Destroy error handlers before final GC run
- https://github.com/php/php-src/commit/2709d6a2508abfdda1b84f0426ae644c703180ed
- [7.4~]
- 最後の GC を起動する前にエラーハンドラ / 例外ハンドラを破棄するよう修正

## nikic: Remove delref in free_object_storage
- https://github.com/php/php-src/commit/c45f19590c4d442c0ecf5a3b55cd0fb928243e6a
- [7.4~]
- zend_objects_store_free_object_storage() の実装で、GC_DELREF() の削除
- オブジェクトのリーク検出精度向上のため

## cmb69: Add ext/odbc stubs
- https://github.com/php/php-src/commit/0201a858d0b9db656cd690c592c1f9570702b45b
- ext/odbc で、arginfo を PHP スタブへ移行

## nikic: Add missed mutability check
- https://github.com/php/php-src/commit/f912445eb21c74403e3e7a827cc14094c66fefd6
- [7.4~]
- shutdown_executor() の実装で、メソッドの静的変数表破棄時に IS_ARRAY_IMMUTABLE をチェックするよう修正

## cmb69: Fix [#78473](https://bugs.php.net/bug.php?id=78473): odbc_close() closes arbitrary resources
- https://github.com/php/php-src/commit/b5572658166c4b8cbc1d332877a7a84c6e18a1c1
- [7.2~]
- [odbc_close()](https://www.php.net/manual/ja/function.odbc-close.php) が ODBC 接続以外のリソース（SDTIN とか）を食わせても警告出しつつ閉じにいくのを修正

## nikic: Set opcache.protect_memory=1 on Azure
- https://github.com/php/php-src/commit/43551405d5d4b2407b7a9c76bcee83750c91c30f
- [7.4~]
- Azure Pipelines の設定で、opcache.protect_memory=1 を指定するよう修正

## cmb69: Don't explicitly set return value on ZFR failure in ext/odbc
- https://github.com/php/php-src/commit/4669c53fcc01e688ab704ebc488feb0db4aa7c6e
- ext/odbc で、zend_fetch_resource() のエラー時の RETURN_FALSE を削除

## Girgias: Promote warnings to errors in extract()
- https://github.com/php/php-src/commit/70e604ee469b767d39303bfe65793bb9b4857d5a
- extract() の警告を例外投げるエラーに昇格

## nikic: Fix use-after-free of immediately invoked closure with extra args
- https://github.com/php/php-src/commit/ed749edd477bfcc3923c086a6443aaa91192e5b7
- [7.2~]
- 余分な引数を与えて即時実行するクロージャでの use-after-free の修正

## nikic: Use explicit unaligned type in md5 implementation
- https://github.com/php/php-src/commit/a10093eee17ed7a3f3bbd9560aa4db00710323df
- md5 の実装で明示的に unaligned の整数型を使うよう修正
- なお全然関係ないけどこの箇所 `defined(__vax__)` で「！？」とかなってる

## nikic: Addref static vars when not copying private method
- https://github.com/php/php-src/commit/6cc53981e5b69a8c9cba267a6dcbcd9569c928b6
- [7.4~]
- 継承時に親の private メソッドの静的変数配列について参照カウント操作は行うよう修正
- private メソッドなので継承先からは参照されずコピーもされないが、デストラクタで参照カウント減らす部分があるので足してはおく

## Girgias: Promote warnings to errors in array_merge(\_recursive)() and array_replace()
- https://github.com/php/php-src/commit/20edea5a85305b2bf9a2ccddd27b8d4bd0ae97a6
- array_merge()、array_merge_recursive()、array_replace() の警告を例外投げるエラーに昇格

## Girgias: Promote warnings to errors in compact()
- https://github.com/php/php-src/commit/81277a104c98476b0c427ac514cd307e75bc68da
- compact() の警告を例外投げるエラーに昇格

## Girgias: Promote warnings to errors in array_walk(\_recursive)()
- https://github.com/php/php-src/commit/62751b0d453ac51c559ea31d360a290081eb0c1d
- array_walk()、array_walk_recursive() の警告を例外投げるエラーに昇格

## MarkRandall: Warnings become errors hash_hmac hash_hmac_file
- https://github.com/php/php-src/commit/21587854b437db14db7e4d601421d2c7702afe4f
- ext/hash で、hash_hmac()、hash_hmac_file() の警告を例外投げるエラーに昇格

## MarkRandall: Warnings become errors hash_init
- https://github.com/php/php-src/commit/14c07fef748126d634a5ef8115cf5f72b8903811
- ext/hash で、hash_init() の警告を例外投げるエラーに昇格

## MarkRandall: Warnings become errors hash stream functions (other than hash_init)
- https://github.com/php/php-src/commit/960da6dff8e200465e0aafad26b339a54aea131e
- ext/hash で、hash_init() 以外の hash stream 関数の警告を例外投げるエラーに昇格

## MarkRandall: Warnings become errors for hash_hkdf
- https://github.com/php/php-src/commit/ee104cf1bb9cb7c269459b94248d416e270cbf8e
- ext/hash で、hash_hkdf() の警告を例外投げるエラーに昇格

## MarkRandall: Errorfy hash_pbkdf2
- https://github.com/php/php-src/commit/e18bac96b70d37ccfdead11b7c465a75401c58bb
- ext/hash で、hash_pbkdf2() の警告を例外投げるエラーに昇格

## MarkRandall: Warnings to Errors hash_equals
- https://github.com/php/php-src/commit/1f863399d539b1bb090c281a4b9e04209540be6b
- ext/hash で、hash_equals() の警告を例外投げるエラーに昇格