@@ -2468,8 +2468,10 @@ PHP_METHOD(DateTime, createFromImmutable)
2468
2468
Z_PARAM_OBJECT_OF_CLASS (datetimeimmutable_object , date_ce_immutable )
2469
2469
ZEND_PARSE_PARAMETERS_END ();
2470
2470
2471
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2472
2471
old_obj = Z_PHPDATE_P (datetimeimmutable_object );
2472
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeImmutable );
2473
+
2474
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2473
2475
new_obj = Z_PHPDATE_P (return_value );
2474
2476
2475
2477
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2487,8 +2489,10 @@ PHP_METHOD(DateTime, createFromInterface)
2487
2489
Z_PARAM_OBJECT_OF_CLASS (datetimeinterface_object , date_ce_interface )
2488
2490
ZEND_PARSE_PARAMETERS_END ();
2489
2491
2490
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2491
2492
old_obj = Z_PHPDATE_P (datetimeinterface_object );
2493
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeInterface );
2494
+
2495
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2492
2496
new_obj = Z_PHPDATE_P (return_value );
2493
2497
2494
2498
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2506,8 +2510,10 @@ PHP_METHOD(DateTimeImmutable, createFromMutable)
2506
2510
Z_PARAM_OBJECT_OF_CLASS (datetime_object , date_ce_date )
2507
2511
ZEND_PARSE_PARAMETERS_END ();
2508
2512
2509
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2510
2513
old_obj = Z_PHPDATE_P (datetime_object );
2514
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTime );
2515
+
2516
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2511
2517
new_obj = Z_PHPDATE_P (return_value );
2512
2518
2513
2519
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2525,8 +2531,10 @@ PHP_METHOD(DateTimeImmutable, createFromInterface)
2525
2531
Z_PARAM_OBJECT_OF_CLASS (datetimeinterface_object , date_ce_interface )
2526
2532
ZEND_PARSE_PARAMETERS_END ();
2527
2533
2528
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2529
2534
old_obj = Z_PHPDATE_P (datetimeinterface_object );
2535
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeInterface );
2536
+
2537
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2530
2538
new_obj = Z_PHPDATE_P (return_value );
2531
2539
2532
2540
new_obj -> time = timelib_time_clone (old_obj -> time );
0 commit comments