今日は ext/gd 自動 crop でのバグ修正、内部的にダミーのマジックメソッドで組み込みクラスのオブジェクトに対する一部操作を禁止していた箇所のリファクタリング、ext/com_dotnet のバグ修正箇所のリファクタリングがあった!
2018-11-26
cmb69: Fix #77200: imagecropauto(…, GD_CROP_SIDES) crops left but not right
- https://github.com/php/php-src/commit/a1aaec08b5a3fc0f36cf91f034b4232285c6e793
- [7.2~]
- ext/gd で、自動 crop が GD_CROP_SIDES で左側の crop はするが 右側の crop はしない問題の修正
- 背景色検出処理で分岐の条件が足りなかった問題くさい
petk: Add re2c checking with error exit code
- https://github.com/php/php-src/commit/67b91084787bca49552f4b400a636ce58307c9f4
- ビルドシステムで re2c がない場合に警告を出していたが、生成後の字句解析器のファイルもない場合はそのむねエラーを吐いて通知するよう修正
nikic: Remove redundant Generator::__wakeup() method
- https://github.com/php/php-src/commit/43417953f4a781a92f42c9941a2742814d43415d
- ジェネレータのアンシリアライズ防止に __wakeup() でエラーにするコードがあったが、別経路(serialize_deny / unserialize_deny)で防いでいたので削除
nikic: Use serialize_deny for CURLFile
- https://github.com/php/php-src/commit/a624c2bd13c89891e99f2052b42c0816cc18341c
- ext/curl で、CURLFile についても同様に serialize_deny / unserialize_deny で防ぐようにし、__wakeup() でのガードを削除
nikic: Switch PDO to use serialize_deny
- https://github.com/php/php-src/commit/6e4b20269449002c4cf21b5f50a11acf91785ce3
- ext/pdo で、PDO についても同様に serialize_deny / unserialize_deny で防ぐようにし、__wakeup() / __sleep() でのガードを削除
nikic: User serialize_deny for PDOStatement as well
- https://github.com/php/php-src/commit/28edeb2ba3551fc6cff2db0004d67435467cdaac
- ext/pdo で、PDOStatement についても同様に serialize_deny / unserialize_deny で防ぐようにし、__wakeup() / __sleep() でのガードを削除
nikic: Remove redundant Exception::__clone() method
- https://github.com/php/php-src/commit/e7131a4e9fa0acf8fc1e486b49851e71859ef5b8
- Exception の clone を __clone() でエラーにすることで防ぐコードがあったが、別経路(オブジェクトハンドラの clone_obj を null に)で防いでいたため削除
nikic: Remove redundant __clone() methods from Reflection
- https://github.com/php/php-src/commit/55bd88ce0d1bf461546d5d0b40920491d566ed48
- ext/reflection で、Reflection の clone を同様に __clone() で防ぐコードがあったが、やはり別経路(オブジェクトハンドラの clone_obj を null に)で防いでいたため削除
cmb69: Use zend_empty_array
- https://github.com/php/php-src/commit/07d6dfbfe40848173ab2136d9c9eba862dc9fca0
- [7.3~]
- ext/com_dotnet の一昨日の修正で、null のかわりに空のハッシュテーブルを用意して返すようにした箇所があったが、7.3 から内部でから配列を指すのに使える zend_empty_array があったのでそちらを使うよう修正