この日はproc_open() でシェルを通さずコマンド起動できる機能の追加、不要な条件コンパイルの削除、ドキュメントの更新、password_needs_rehash() が別のアルゴリズムで作られたハッシュ値について false を返す問題の修正、メモリリークの修正、run-tests.php の修正、opcache での ZTS ロックの解放漏れの修正、use-after-free の修正、phpdbg で strndup() でなく zend_strndup() を使うようにする修正、tsrm_is_shutdown() の実装、soap エラー処理オーバヘッドの改善、pdo_sqlite で SEGV が起きる問題の修正、tracked arena allocator の追加、境界外読み込みの修正、libmysql を使おうとした際のコンパイルエラーの修正、Azure Pipelines での asan と ubsan を定期実行設定、zend_ast_export() が参照を含む配列で & を付けない問題の修正、メモリリークの修正、コンパイラの警告潰し、不要コードの削除があった!
2019-06-28
petk: Sync HAVE_HASH, HAVE_HASH_EXT, PHAR_HASH_OK symbols
- https://github.com/php/php-src/commit/033cafacbd8b184260c91a74ea7956b302857706
- [7.4~]
- HAVE_HASH、HAVE_HASH_EXT、PHAR_HASH_OK 絡みの不要な条件コンパイルの削除
petk: Remove HAVE_STRCOLL check
- https://github.com/php/php-src/commit/638c21765c029f637e45c00a3528ff8ea10c3b72
- [7.4~]
- HAVE_STRCOLL の不要な条件コンパイル / テストの SKIPIF の削除
- C89 で strcoll() は標準化されてるからというやつ
petk: Fix typo
petk: Catch up with some recent changes [ci skip]
- https://github.com/php/php-src/commit/35b6a9f75a5de21bc0d7c311fbf7b5c3f255420b
- [7.4~]
- UPGRADING、UPGRADING.INTERNAL に最近めの修正内容を反映
sgolemon: Bugfix #78208 Needs rehash with an unknown algo should always return true.
- https://github.com/php/php-src/commit/27f1f3ed1a040a7f20bd9bb16af7bf219f4df97f
- [7.4~]
- password_needs_rehash() が別のアルゴリズムで作られたハッシュ値について false を返す問題の修正
nikic: Fix custom heap free
- https://github.com/php/php-src/commit/70fa4715a4209049769b8a62687f15e403183120
- [7.4~]
- カスタムヒープの解放処理を修正
nikic: run-tests: Don't pass --INI-- settings to --SKIPIF--
- https://github.com/php/php-src/commit/b195412bf385cad9d40b1a6669e422fdd91b5e70
- [7.4~]
- run-tests.php の修正
-
--INI--
の設定を SKIPIF へ渡さないようにしている - INI 設定でこけるようなテストケースを用意する際に SKIPIF 判定がされなくなっちゃう、という話らしい
nikic: Fix init_file leak in phpdbg
- https://github.com/php/php-src/commit/8c4d199851fb84789b6c23a755e5b03e2f653e74
- [7.4~]
- sapi/phpdbg で、メモリリークの修正
nikic: Free ZTS lock in opcache
- https://github.com/php/php-src/commit/a78adce5cb766a3e13328bd0d79d6ac599f3f8bc
- [7.4~]
- ext/opcache で、終了処理時に ZTS のロックを解放するよう修正
nikic: Fix mysqlnd memory leak
- https://github.com/php/php-src/commit/f365d0e00ed93b1c33e984ff3b4cc8677cbca193
- [7.4~]
- ext/mysqlnd で、メモリリークの修正
dstogov: Fixed use-after-free
- https://github.com/php/php-src/commit/ba8033feb0c2e8c6665a55d13ae2d0957ce72add
- [7.4~]
- 終了処理での use-after-free の修正
cmb69: Use the portable zend_strndup() instead of strndup()
- https://github.com/php/php-src/commit/bc0db8ce453aab34941cfe510833d218e50fcae4
- [7.4~]
- sapi/phpdbg で、strndup() でなく zend_strndup() を使うよう修正
krakjoe: implement tsrm_is_shutdown API
- https://github.com/php/php-src/commit/68485f8ab4df0e1b3e4f446006ce25b6be358975
- [7.4~]
- TSRM の API として tsrm_is_shutdown() の実装
dstogov: Reduce overhead
- https://github.com/php/php-src/commit/143f4e3b5c4d72ae105adb14bde0ecdf361fbbf0
- [7.4~]
- ext/soap で、エラー処理のオーバヘッドが邪魔になる部分を減らすよう修正
nikic: Add support for proc_open() with a command array
- https://github.com/php/php-src/commit/8be051015e04ce6151da77581922eea65330f354
- [7.4~]
- FR:78177 で PR:4305
- proc_open() で文字列でなく配列でコマンドを指定し、シェルを通さず起動できる機能の追加
- Windows では引数のエスケープも行う
vincent4vx: Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed
- https://github.com/php/php-src/commit/05c00a832c7b395398ef8e60edd8a7ec25439861
- [7.2~]
- ext/pdo_sqlite で、スキーマ変更後に PDOStatement を使い回すと SEGV を起こす問題の修正
nikic: Add tracked arena allocator
- https://github.com/php/php-src/commit/7632a411e3b839e6a438aa1367ec3d6f310d3d90
- [7.4~]
- tracked arena allocator の追加
- -DZEND_TRACK_ARENA_ALLOC で有効化
- Arena についてデバッグ用にシステムのメモリアロケータを使ってツールでのメモリリークチェックをやれるようにしている
- myqlnd で自前実装を持っていたのは「いらなくね?」と置き換えてる
nikic: Fix out-of-bounds read in array compilation
- https://github.com/php/php-src/commit/9f81c56e42ebaaea800c7304cf8cb39acedf1c98
- [7.4~]
- 配列コンパイル時の境界外読み込みの修正
sebpop: Fix compilation errors when building against libmysql
- https://github.com/php/php-src/commit/70ef87539d7723e22ec3659a3ac2bec0511d12f9
- ext/mysqli で、mysqlnd でなく libmysql を使おうとした際のコンパイルエラーを修正
nikic: Update error message in libmysql test
- https://github.com/php/php-src/commit/c0bf3bc50cfe1ef47a233d5fa3763d7581a57871
- [7.4~]
- ext/mysqli で、libmysql 利用のテストの期待出力に PHP4 形式のコンストラクタがあったのを修正
nikic: Avoid reliance on arena details on phpdbg oplog
- https://github.com/php/php-src/commit/50cce5eb4f7c2627622875d9360b66b6c3234afe
- [7.4~]
- sapi/phpdbg で、oplog が arena の実装詳細へ依存していたのを修正
nikic: Fix out of bounds read in sccp
- https://github.com/php/php-src/commit/ca6f41aa5a15a44f841e42c7255294d521c95d5d
- [7.4~]
- ext/opcache で、境界外読み込みの修正
nikic: Set up asan+ubsan scheduled build on azure
- https://github.com/php/php-src/commit/54dd762f596d4b0ea97d6d10e9d0c96e0f33e76e
- [7.4~]
- Azure Pipelines の設定で、asan と ubsan を定期実行するよう修正
- asan で遅すぎたり動かなかったりするテストはスキップするようにしている
sunnyeo: Fix bugs in AST printer
- https://github.com/php/php-src/commit/f7327b62442304707f1c6466782c9f8530b61788
- [7.2~]
- zend_ast_export() が参照を含む配列で & を付けない問題の修正
nikic: Fix arginfo leak in disable_functions
- https://github.com/php/php-src/commit/36983035404fa6a6027addd3589832adb93c92ac
- [7.4~]
- disable_functions の処理での arginfo の解放漏れを修正
nikic: Mark ifunc resolver functions as unused
- https://github.com/php/php-src/commit/88d52ae7aabec35913b8b4115315729e5f492a27
- [7.4~]
- clang が __attribute__((ifunc)) での指定を無視して文句を言うので ZEND_ATTRIBUTE_UNUSED でマーク
nikic: Remove phpdbg_xml_asprintf()
- https://github.com/php/php-src/commit/cf29c0f212dd2f3cbf4ba880230fe7824db73ee1
- [7.4~]
- sapi/phpdbg で、使われてなさそうな関数 phpdbg_xml_asprintf() を削除