Segmentation fault when converting immutable and mutable DateTime
instances created using reflection
#8471
Labels
DateTime
instances created using reflection
#8471
Description
Reproduction
Resulted in this output:
https://3v4l.org/gg0dq
The segfault happens when converting an "incomplete"
\DateTime
to a\DateTimeImmutable
instance and vice versa.Background
I stumbled upon this during some unit test writing where my testing framework was unexpectedly mocking
\DateTime
objects for me. After debugging for a while I could narrow the cause down to the snippet above.Solution
I'd love to attempt to provide a fix for this, but I am unsure as to the proper solution, implementation-wise: Should an error be thrown during the conversion, or during constructor-less creation of the reflection instance? Or maybe no errors at all and some "sane default" type of handling for creating
DateTime
instances via Reflection? Are there any precedents in the implementation for other internal classes in regards to this? Thanks in advance!PHP Version
PHP 7.4 - PHP 8.1
Operating System
No response
The text was updated successfully, but these errors were encountered: