@@ -989,43 +989,82 @@ static int zend_update_parent_ce(zval *zv)
989
989
990
990
/* update methods */
991
991
if (ce -> constructor ) {
992
- ce -> constructor = zend_shared_alloc_get_xlat_entry (ce -> constructor );
992
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> constructor );
993
+ if (tmp != NULL ) {
994
+ ce -> constructor = tmp ;
995
+ }
993
996
}
994
997
if (ce -> destructor ) {
995
- ce -> destructor = zend_shared_alloc_get_xlat_entry (ce -> destructor );
998
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> destructor );
999
+ if (tmp != NULL ) {
1000
+ ce -> destructor = tmp ;
1001
+ }
996
1002
}
997
1003
if (ce -> clone ) {
998
- ce -> clone = zend_shared_alloc_get_xlat_entry (ce -> clone );
1004
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> clone );
1005
+ if (tmp != NULL ) {
1006
+ ce -> clone = tmp ;
1007
+ }
999
1008
}
1000
1009
if (ce -> __get ) {
1001
- ce -> __get = zend_shared_alloc_get_xlat_entry (ce -> __get );
1010
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __get );
1011
+ if (tmp != NULL ) {
1012
+ ce -> __get = tmp ;
1013
+ }
1002
1014
}
1003
1015
if (ce -> __set ) {
1004
- ce -> __set = zend_shared_alloc_get_xlat_entry (ce -> __set );
1016
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __set );
1017
+ if (tmp != NULL ) {
1018
+ ce -> __set = tmp ;
1019
+ }
1005
1020
}
1006
1021
if (ce -> __call ) {
1007
- ce -> __call = zend_shared_alloc_get_xlat_entry (ce -> __call );
1022
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __call );
1023
+ if (tmp != NULL ) {
1024
+ ce -> __call = tmp ;
1025
+ }
1008
1026
}
1009
1027
if (ce -> serialize_func ) {
1010
- ce -> serialize_func = zend_shared_alloc_get_xlat_entry (ce -> serialize_func );
1028
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> serialize_func );
1029
+ if (tmp != NULL ) {
1030
+ ce -> serialize_func = tmp ;
1031
+ }
1011
1032
}
1012
1033
if (ce -> unserialize_func ) {
1013
- ce -> unserialize_func = zend_shared_alloc_get_xlat_entry (ce -> unserialize_func );
1034
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> unserialize_func );
1035
+ if (tmp != NULL ) {
1036
+ ce -> unserialize_func = tmp ;
1037
+ }
1014
1038
}
1015
1039
if (ce -> __isset ) {
1016
- ce -> __isset = zend_shared_alloc_get_xlat_entry (ce -> __isset );
1040
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __isset );
1041
+ if (tmp != NULL ) {
1042
+ ce -> __isset = tmp ;
1043
+ }
1017
1044
}
1018
1045
if (ce -> __unset ) {
1019
- ce -> __unset = zend_shared_alloc_get_xlat_entry (ce -> __unset );
1046
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __unset );
1047
+ if (tmp != NULL ) {
1048
+ ce -> __unset = tmp ;
1049
+ }
1020
1050
}
1021
1051
if (ce -> __tostring ) {
1022
- ce -> __tostring = zend_shared_alloc_get_xlat_entry (ce -> __tostring );
1052
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __tostring );
1053
+ if (tmp != NULL ) {
1054
+ ce -> __tostring = tmp ;
1055
+ }
1023
1056
}
1024
1057
if (ce -> __callstatic ) {
1025
- ce -> __callstatic = zend_shared_alloc_get_xlat_entry (ce -> __callstatic );
1058
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __callstatic );
1059
+ if (tmp != NULL ) {
1060
+ ce -> __callstatic = tmp ;
1061
+ }
1026
1062
}
1027
1063
if (ce -> __debugInfo ) {
1028
- ce -> __debugInfo = zend_shared_alloc_get_xlat_entry (ce -> __debugInfo );
1064
+ zend_function * tmp = zend_shared_alloc_get_xlat_entry (ce -> __debugInfo );
1065
+ if (tmp != NULL ) {
1066
+ ce -> __debugInfo = tmp ;
1067
+ }
1029
1068
}
1030
1069
// zend_hash_apply(&ce->properties_info, (apply_func_t) zend_update_property_info_ce);
1031
1070
return 0 ;
0 commit comments