Bug #62852 [Csd]: Unserialize Invalid Date causes crash
| From: | laruence@php.net | Date: | Sat, 15 Sep 2012 03:30:56 +0000 |
| Subject: | Bug #62852 [Csd]: Unserialize Invalid Date causes crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-173454@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62852&edit=1
ID: 62852
Updated by: laruence@php.net
Reported by: kasper at webmasteren dot eu
Summary: Unserialize Invalid Date causes crash
Status: Closed
Type: Bug
Package: Reproducible crash
Operating System: windows, linux
PHP Version: Irrelevant
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
@tstarling okey, I reverted. and make the test XFAIL for now, we should fix this
in another way.
Previous Comments:
------------------------------------------------------------------------
[2012-09-15 03:30:07] laruence@php.net
Automatic comment on behalf of laruence
Revision: http://git.php.net/?p=php-src.git;a=commit;h=e766f85405cd936a07a30a045f419199b6c02ed7
Log: Revert "Fixed bug #62852 (Unserialize invalid DateTime causes crash)"
------------------------------------------------------------------------
[2012-09-14 21:22:38] tstarling@php.net
The suggested patch does not fix the bug. Throwing an exception does not ensure destruction of the
object. For example, you can override __wakeup() in a derived class and put a reference to the
half-initialised object in a global value before calling DateTime::__wakeup(). Full test case at
http://tstarling.com/stuff/bad-date.phps
It segfaults for me on today's git master. It looks to me like either dateobj->time should
be fully initialised, or it should be set back to NULL so that DATE_CHECK_INITIALIZED() etc. will
guard accesses.
In my opinion, throwing an exception from unserialize() is an unnecessary b/c break and should be
reverted.
------------------------------------------------------------------------
[2012-08-19 10:36:32] laruence@php.net
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2012-08-19 10:32:23] laruence@php.net
Automatic comment on behalf of reeze.xia@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=46a3f257724df7b85cc8c3e6374c36ed9ee783b4
Log: Fixed bug #62852 (Unserialize invalid DateTime causes crash)
------------------------------------------------------------------------
[2012-08-19 10:31:21] laruence@php.net
Automatic comment on behalf of reeze.xia@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=46a3f257724df7b85cc8c3e6374c36ed9ee783b4
Log: Fixed bug #62852 (Unserialize invalid DateTime causes crash)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=62852
--
Edit this bug report at https://bugs.php.net/bug.php?id=62852&edit=1