File tree 1 file changed +8
-2
lines changed
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -294,22 +294,28 @@ ZEND_API void ZEND_FASTCALL zend_objects_clone_members_ex(zend_object *new_objec
294
294
}
295
295
296
296
if (EXPECTED (!EG (exception )) && properties != NULL ) {
297
+ zend_class_entry * old_scope = EG (fake_scope );
298
+
299
+ EG (fake_scope ) = scope ;
300
+
297
301
zend_ulong num_key ;
298
302
zend_string * key ;
299
303
zval * val ;
300
304
ZEND_HASH_FOREACH_KEY_VAL (properties , num_key , key , val ) {
301
305
if (UNEXPECTED (key == NULL )) {
302
306
key = zend_long_to_str (num_key );
303
- zend_update_property_ex ( scope , new_object , key , val );
307
+ new_object -> handlers -> write_property ( new_object , key , val , NULL );
304
308
zend_string_release_ex (key , false);
305
309
} else {
306
- zend_update_property_ex ( scope , new_object , key , val );
310
+ new_object -> handlers -> write_property ( new_object , key , val , NULL );
307
311
}
308
312
309
313
if (UNEXPECTED (EG (exception ))) {
310
314
break ;
311
315
}
312
316
} ZEND_HASH_FOREACH_END ();
317
+
318
+ EG (fake_scope ) = old_scope ;
313
319
}
314
320
315
321
You can’t perform that action at this time.
0 commit comments