Browse Source

Merge branch 'PHP-7.0'

* PHP-7.0:
  Fix DatePeriod::getEndDate() segfault
pull/1801/merge
Anatol Belski 10 years ago
parent
commit
0c3022f436
  1. 4
      ext/date/php_date.c
  2. 11
      ext/date/tests/bug71635.phpt

4
ext/date/php_date.c

@ -4447,6 +4447,10 @@ PHP_METHOD(DatePeriod, getEndDate)
dpobj = Z_PHPPERIOD_P(getThis());
if (!dpobj->end) {
return;
}
php_date_instantiate(dpobj->start_ce, return_value);
dateobj = Z_PHPDATE_P(return_value);
dateobj->time = timelib_time_ctor();

11
ext/date/tests/bug71635.phpt

@ -0,0 +1,11 @@
--TEST--
Bug #71635 (segfault in DatePeriod::getEndDate() when no end date has been set)
--FILE--
<?php
date_default_timezone_set('UTC');
$period = new DatePeriod(new DateTimeImmutable("now"), new DateInterval("P2Y4DT6H8M"), 2);
var_dump($period->getEndDate());
?>
--EXPECT--
NULL
Loading…
Cancel
Save