Fix wrong size calculation related to function name

It would be nice if we could drop this manual function name reuse
code altogether and rely on interning for it.
This commit is contained in:
Nikita Popov 2019-07-05 10:44:48 +02:00
parent d3c4841b18
commit ea43624972

View file

@ -192,13 +192,11 @@ static void zend_persist_op_array_calc_ex(zend_op_array *op_array)
if (op_array->function_name) { if (op_array->function_name) {
zend_string *old_name = op_array->function_name; zend_string *old_name = op_array->function_name;
zend_string *new_name = zend_shared_alloc_get_xlat_entry(old_name); if (!zend_shared_alloc_get_xlat_entry(old_name)) {
if (new_name) {
op_array->function_name = new_name;
} else {
ADD_INTERNED_STRING(op_array->function_name); ADD_INTERNED_STRING(op_array->function_name);
zend_shared_alloc_register_xlat_entry(old_name, op_array->function_name); if (!zend_shared_alloc_get_xlat_entry(op_array->function_name)) {
zend_shared_alloc_register_xlat_entry(old_name, op_array->function_name);
}
} }
} }