Commit graph

978 commits

Author SHA1 Message Date
Sara Golemon
0951d7d75a Use new param API in date
Left the zend_parse_parameters_throw() uses along because
throwing isn't currently supported by the new API.
Also left the complex parsing in DatePeriod::__construct alone
because the macros don't really stack all that well.
2016-12-28 10:04:35 -08:00
Joe Watkins
77efe76bf7 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  news entry for #1787
  move declaration of vars to top
  add test for #69587
  fix bug #69587 DateInterval properties and isset
2016-11-13 05:34:11 +00:00
jhdxr
0bd63959c9 move declaration of vars to top 2016-11-13 05:32:24 +00:00
jhdxr
23f9e48273 fix bug #69587 DateInterval properties and isset 2016-11-13 05:32:24 +00:00
Anatol Belski
c79f9a4e49 fix gettimeofday proto availability
(cherry picked from commit 79f7d174d0)
2016-10-14 02:03:02 +02:00
Stanislav Malyshev
c4254588a9 Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation
(cherry picked from commit 1b29e4488e)
2016-10-14 01:36:38 +02:00
Derick Rethans
55626549d8 Improve support for microseconds with Date/Time
It fixes several bugs:

- Fixed bug #45554 (Inconsistent behavior of the u format char).
- Fixed bug #48225 (DateTime parser doesn't set microseconds for "now").
- Fixed bug #52514 (microseconds are missing in DateTime class).
- Fixed bug #52519 (microseconds in DateInterval are missing).
- Fixed bug #68506 (General DateTime improvments needed for microseconds to become useful).
- Fixed bug #73109 (timelib_meridian doesn't parse dots correctly).
- Fixed bug #73247 (DateTime constructor does not initialise microseconds property).

It also updates timelib to 2016.04, and updates a data mapping file, which
causes changes to the volatile abbreviations tests.
2016-10-05 15:03:06 -04:00
Stanislav Malyshev
1b29e4488e Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation 2016-09-25 16:43:24 -07:00
Nikita Popov
0bda0422af Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_execute.h
2016-07-14 18:39:48 +02:00
Nikita Popov
411eee7b5a Fix leak when creating timezone with null bytes 2016-07-14 18:39:16 +02:00
Jeremy Mikola
7aaa310d7b Export php_date_get_interface_ce() for extension use 2016-07-05 16:19:45 +02:00
Aaron Piotrowski
24237027bc Merge branch 'throw-error-in-extensions' 2016-07-05 02:08:39 -05:00
Aaron Piotrowski
9638e45d2f Return null instead of false 2016-06-29 10:02:17 -05:00
Dmitry Stogov
0cfb47651c Fixed compilation warnings 2016-06-28 11:37:51 +03:00
Dmitry Stogov
323b2733f6 Fixed compilation warnings 2016-06-22 00:40:50 +03:00
Nikita Popov
93f7939891 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/date/php_date.c
2016-06-14 22:38:44 +02:00
Nikita Popov
248fdfcf73 Maybe fix bug #72011 2016-06-14 22:37:27 +02:00
Aaron Piotrowski
771e5cc247 Replace zend_ce_error with NULL and replace more E_ERROR with thrown Error 2016-06-13 09:02:17 -05:00
Aaron Piotrowski
e3c681aa5c Merge branch 'master' into throw-error-in-extensions 2016-06-10 22:02:23 -05:00
Anatol Belski
d10a8e4804 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Use STR_EMPTY_ALLOC macro instead
  Fix DateInterval::format segfault
2016-04-05 11:24:23 +02:00
Thomas Punt
1aea777349 Use STR_EMPTY_ALLOC macro instead 2016-04-05 11:18:14 +02:00
Thomas Punt
40f14bad33 Fix DateInterval::format segfault 2016-04-05 11:18:14 +02:00
Anatol Belski
d26d80ab75 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix DatePeriod::getEndDate() segfault
2016-03-11 14:12:54 +01:00
Thomas Punt
f3f5a07aa5 Fix DatePeriod::getEndDate() segfault 2016-03-11 14:08:48 +01:00
Anatol Belski
633fb2d0e8 Backported fix for bug #71525 2016-02-15 15:14:23 +01:00
Sean DuBois
f31e0cd334 Fix bug #71525
timelib_time->timelib_rel_time is mutated by date_modify, and because it is never zero'ed out
it latters causes other date operations to fail (like date_date_set)
2016-02-15 08:19:07 +01:00
Derick Rethans
3523c0a45f Merge branch 'PHP-5.6' into PHP-7.0 2016-01-29 15:30:31 +01:00
Derick Rethans
1a86825688 Use the new timelib function for comparing times 2016-01-29 15:28:11 +01:00
Willem-Jan
2aeef4e539 Test + support for negative timestamps with microtime 2016-01-29 15:22:22 +01:00
Willem-Jan
5879721936 Compare agaist fraction when sse are equal 2016-01-29 15:22:22 +01:00
Lior Kaplan
ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Xinchen Hui
4171a8f6c6 Internal function argumensts cleanup (strict_types) 2015-12-12 22:52:37 -08:00
Xinchen Hui
f248309b74 Revert "Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed)"
THis is bc break, which will break $date1->diff($date2 , 1), which is
common used

please do not do bc break without a asking

This reverts commit 943b23dcf6.
2015-12-09 12:00:23 +08:00
Reeze Xia
943b23dcf6 Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed) 2015-12-09 11:40:47 +08:00
Xinchen Hui
c98ea8465b Fixed bug #70619 (DateTimeImmutable segfault) 2015-10-02 07:19:21 -07:00
Dmitry Stogov
ad4fa8f758 Fixed incorrect usage of HASH_OF() macro. Replaced HASH_OF() with more appropriate Z_ARRVAL_P() or Z_OBJPROP_P(). 2015-09-24 22:39:59 +03:00
Dmitry Stogov
a9bbe5c384 Make use of timelib 2015.02's support for external memory managers. 2015-09-22 09:17:50 +01:00
Christoph M. Becker
61591ea636 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70277: new DateTimeZone($foo) is ignoring text after null byte

Resolved conflicts:
	ext/date/php_date.c
2015-08-17 19:28:46 +02:00
Christoph M. Becker
bb057498f7 Fix #70277: new DateTimeZone($foo) is ignoring text after null byte
The DateTimeZone constructors are not binary safe. They're parsing the timezone
as string, but discard the length when calling timezone_initialize(). This
patch adds a tz_len parameter and a respective check to timezone_initialize().
2015-08-17 15:58:37 +02:00
Christoph M. Becker
5e93fe3c57 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70266 (DateInterval::__construct.interval_spec is not supposed to be optional)
2015-08-14 14:25:19 +02:00
Christoph M. Becker
e66bf11638 Fix #70266 (DateInterval::__construct.interval_spec is not supposed to be optional)
The required_num_args argument of ZEND_BEGIN_ARG_INFO_EX() has to be 1.
2015-08-14 14:19:12 +02:00
Christoph M. Becker
3b874086e2 Fix #70245: strtotime does not emit warning when 2nd parameter is object or string
Caused by a refactoring strtotime() called
zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ...) instead of
zend_parse_parameters().
2015-08-12 19:01:04 +02:00
Stanislav Malyshev
ed709d5aa0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	ext/soap/php_http.c
	ext/spl/spl_observer.c
2015-08-04 15:29:13 -07:00
Stanislav Malyshev
69ed3969dd Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	.gitignore
	ext/date/php_date.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
2015-08-04 14:10:57 -07:00
Stanislav Malyshev
0e09009753 Do not do convert_to_* on unserialize, it messes up references 2015-08-04 13:59:56 -07:00
Ferenc Kovacs
57247f01f7 removed another E_STRICT(with the approval of Derick), 3 more to go 2015-07-30 13:53:44 +02:00
Aaron Piotrowski
7ec1e17464 Update memory freeing and other issues, revert some changes 2015-07-05 23:25:53 -05:00
Aaron Piotrowski
907476f34c Convert E_ERROR to thrown Error in extensions 2015-07-05 12:16:57 -05:00
Dmitry Stogov
4a2e40bb86 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 04:05:24 +03:00