ZF-10876: Any date higher then 2038 becomes invalid

Issue Type: Bug Created: 2010-12-28T12:07:57.000+0000 Last Updated: 2011-06-14T06:37:55.000+0000 Status: Resolved Fix version(s): - 1.11.8 (07/Jul/11)

Reporter: Arend de Boer (arenddeboer) Assignee: Adam Lundrigan (adamlundrigan) Tags: - Zend_Amf

Related issues: Attachments:


Receiving a Date object with a date higher then 2038 results in an invalid date. It seems to go wrong in Zend/Amf/Parse/Deserializer.php, function readDate() Either changing line 225: $timestamp = floor($this->_stream->readDouble() / 1000); to: $timestamp = sprintf('%u',$this->_stream->readDouble()/1000); Or changing line 228: $dateTime = new Zend_Date((int) $timestamp); to: $dateTime = new Zend_Date($timestamp); Solves the problem. The latter probably being the best solution.

Using: PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:41:55)


Posted by Arend de Boer (arenddeboer) on 2010-12-29T02:11:06.000+0000

On a side note, this was discovered on a 32 bit environment. As expected, casting the timestamp to a 64 bit integer on a 64 bits system does not yield this error.

Posted by Adam Lundrigan (adamlundrigan) on 2011-06-14T01:38:40.000+0000

Fixed in trunk r24137 Merged to release in r24138

Posted by Arend de Boer (arenddeboer) on 2011-06-14T06:37:55.000+0000

Thanks Adam. It's great to see someone picking things up again!

Have you found an issue?

See the Overview section for more details.


© 2006-2018 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.