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: Re-Opened
Type: Bug
Package: Reproducible crash
Operating System: windows, linux
PHP Version: Irrelevant
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
@reeze
first: it's not about why he want to do this, like:"why do you want to
unserialize a abnormal data?"
and your new fix, will allow a incomplete date object in $foo, right?
I don't this this fix is acceptable, the fix should warning about the wrong data,
and result a NULL or FALSE.
Previous Comments:
------------------------------------------------------------------------
[2012-09-16 02:31:20] reeze@php.net
@laruence, What do you think about this, if you have any better solutions
will be much appreciated :)
------------------------------------------------------------------------
[2012-09-16 02:23:42] reeze@php.net
@tstarling the partially initialize problem could be fixed by adding
and exception checking. (the attache patch is a fix for this)
As the exception throwing, I think it's not bc break, since before
the fix, it will just crash, fix the crash is not bc break, and
the use could define __walkup method, it may throw exception too,
so I think throw exception won't make unserialize inconsistant.
Just my 2 cents;
------------------------------------------------------------------------
[2012-09-16 02:18:49] reeze@php.net
The following patch has been added/updated:
Patch Name: Fix-add-exception-checking
Revision: 1347761929
URL: https://bugs.php.net/patch-display.php?bug=62852&patch=Fix-add-exception-checking&revision=1347761929
------------------------------------------------------------------------
[2012-09-15 06:57:20] laruence@php.net
closed by commit email, reopen
------------------------------------------------------------------------
[2012-09-15 04:26:07] reeze@php.net
Yeah, the segfault is bad.
but the test script is wired, why do you want to refer to it before wakeup?
When construct the DateTime if invalid date it throw exception, so
when unserialize from an invalid date throw exception is reasonable.
------------------------------------------------------------------------
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