Edit report at https://bugs.php.net/bug.php?id=62852&edit=1

 ID:                 62852
 Comment by:         reeze dot xia at gmail dot com
 Reported by:        kasper at webmasteren dot eu
 Summary:            Unserialize Invalid Date causes crash
 Status:             Open
 Type:               Bug
 Package:            Reproducible crash
 Operating System:   windows, linux
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

Hi, 
   I'v sent pull request to fix this:
https://github.com/php/php-src/pull/168

when unserialize it didn't check whether the date is valid.

Thanks


Previous Comments:
------------------------------------------------------------------------
[2012-08-18 11:53:03] kasper at webmasteren dot eu

Description:
------------
Core PHP,every version so far, 5.3.* and 5.4.*
When unserializing this string :
O:8:"DateTime":3:{s:4:"date";s:20:"10007-06-07 
03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}
created from: Datetime:createFromFormat("99-99-9999","j-n-Y");
then serialized, to a file. Later when read and working with, php crashes, from 
the parse_tz.c, in timelib_get_time_zone_info. the Exception is "read at offset 
0x00000010". it would appear that ts and / or tz is zero. 


Test script:
---------------
$temp =  unserialize('O:8:"DateTime":3:{s:4:"date";s:20:"10007-06-07 
03:51:49";s:13:"timezone_type";i:3;s:8:"timezone";s:3:"UTC";}');
var_dump($temp);

Expected result:
----------------
error parsing invalid date or just a date with all entries 0.

Actual result:
--------------
php crash [read offset 0x00000010] ~  null pointer + offset. at the file 
"ext\date\lib\parse_tz.c"


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62852&edit=1

Reply via email to