File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 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
294294 }
295295
296296 if (EXPECTED (!EG (exception )) && properties != NULL ) {
297+ zend_class_entry * old_scope = EG (fake_scope );
298+
299+ EG (fake_scope ) = scope ;
300+
297301 zend_ulong num_key ;
298302 zend_string * key ;
299303 zval * val ;
300304 ZEND_HASH_FOREACH_KEY_VAL (properties , num_key , key , val ) {
301305 if (UNEXPECTED (key == NULL )) {
302306 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 );
304308 zend_string_release_ex (key , false);
305309 } else {
306- zend_update_property_ex ( scope , new_object , key , val );
310+ new_object -> handlers -> write_property ( new_object , key , val , NULL );
307311 }
308312
309313 if (UNEXPECTED (EG (exception ))) {
310314 break ;
311315 }
312316 } ZEND_HASH_FOREACH_END ();
317+
318+ EG (fake_scope ) = old_scope ;
313319 }
314320
315321
You can’t perform that action at this time.
0 commit comments