Closed
Description
Description
The following code:
<?php
class I extends DateTimeImmutable { private $var = 1; }
unserialize(serialize(new I));
Resulted in this output:
Fatal error: Uncaught Error: Cannot access property starting with "\0" in Standard input code:4
Stack trace:
#0 [internal function]: DateTimeImmutable->__unserialize(Array)
#1 Standard input code(4): unserialize('O:1:"I":4:{s:4:...')
#2 {main}
thrown in Standard input code on line 4
This breaks unserialization of monolog log data (https://github.com/Seldaek/monolog/blob/d3d495b742cacf9c0af87867bf87dab2fc591e68/src/Monolog/DateTimeImmutable.php) which uses a private property.
This still works on PHP 8.2.3.
This seems to be caused by 85fbc6e.
PHP Version
PHP 8.2.4RC1