props = intervalobj->std.properties;
+ if (!intervalobj->initialized) {
+ return props;
+ }
+
#define PHP_DATE_INTERVAL_ADD_PROPERTY(n,f) \
MAKE_STD_ZVAL(zv); \
ZVAL_LONG(zv, intervalobj->diff->f); \
--- /dev/null
+--TEST--
+Bug #48678 DateInterval segfaults when unserialising
+--FILE--
+<?php
+$x = new dateinterval("P3Y6M4DT12H30M5S");
+print_r($x);
+$y = unserialize(serialize($x));
+print_r($y);
+--EXPECT--
+DateInterval Object
+(
+ [y] => 3
+ [m] => 6
+ [d] => 4
+ [h] => 12
+ [i] => 30
+ [s] => 5
+ [invert] => 0
+ [days] => 0
+)
+DateInterval Object
+(
+ [y] => 3
+ [m] => 6
+ [d] => 4
+ [h] => 12
+ [i] => 30
+ [s] => 5
+ [invert] => 0
+ [days] => 0
+)