@@ -2459,8 +2459,10 @@ PHP_METHOD(DateTime, createFromImmutable)
2459
2459
Z_PARAM_OBJECT_OF_CLASS (datetimeimmutable_object , date_ce_immutable )
2460
2460
ZEND_PARSE_PARAMETERS_END ();
2461
2461
2462
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2463
2462
old_obj = Z_PHPDATE_P (datetimeimmutable_object );
2463
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeImmutable );
2464
+
2465
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2464
2466
new_obj = Z_PHPDATE_P (return_value );
2465
2467
2466
2468
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2478,8 +2480,10 @@ PHP_METHOD(DateTime, createFromInterface)
2478
2480
Z_PARAM_OBJECT_OF_CLASS (datetimeinterface_object , date_ce_interface )
2479
2481
ZEND_PARSE_PARAMETERS_END ();
2480
2482
2481
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2482
2483
old_obj = Z_PHPDATE_P (datetimeinterface_object );
2484
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeInterface );
2485
+
2486
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_date , return_value );
2483
2487
new_obj = Z_PHPDATE_P (return_value );
2484
2488
2485
2489
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2497,8 +2501,10 @@ PHP_METHOD(DateTimeImmutable, createFromMutable)
2497
2501
Z_PARAM_OBJECT_OF_CLASS (datetime_object , date_ce_date )
2498
2502
ZEND_PARSE_PARAMETERS_END ();
2499
2503
2500
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2501
2504
old_obj = Z_PHPDATE_P (datetime_object );
2505
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTime );
2506
+
2507
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2502
2508
new_obj = Z_PHPDATE_P (return_value );
2503
2509
2504
2510
new_obj -> time = timelib_time_clone (old_obj -> time );
@@ -2516,8 +2522,10 @@ PHP_METHOD(DateTimeImmutable, createFromInterface)
2516
2522
Z_PARAM_OBJECT_OF_CLASS (datetimeinterface_object , date_ce_interface )
2517
2523
ZEND_PARSE_PARAMETERS_END ();
2518
2524
2519
- php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2520
2525
old_obj = Z_PHPDATE_P (datetimeinterface_object );
2526
+ DATE_CHECK_INITIALIZED (old_obj -> time , DateTimeInterface );
2527
+
2528
+ php_date_instantiate (execute_data -> This .value .ce ? execute_data -> This .value .ce : date_ce_immutable , return_value );
2521
2529
new_obj = Z_PHPDATE_P (return_value );
2522
2530
2523
2531
new_obj -> time = timelib_time_clone (old_obj -> time );
0 commit comments