diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-05 10:44:48 +0200 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-07-05 10:46:41 +0200 |
| commit | ea43624972b51c367614c62257bda09a90f1d76f (patch) | |
| tree | 009d86043f5975c6ece61c67554eedafd6b29d88 /ext | |
| parent | d3c4841b180d57b5bd65171b68043504a4598aca (diff) | |
| download | php-git-ea43624972b51c367614c62257bda09a90f1d76f.tar.gz | |
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.
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/opcache/zend_persist_calc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/ext/opcache/zend_persist_calc.c b/ext/opcache/zend_persist_calc.c index a38398e3cf..cc798b27de 100644 --- a/ext/opcache/zend_persist_calc.c +++ b/ext/opcache/zend_persist_calc.c @@ -192,13 +192,11 @@ static void zend_persist_op_array_calc_ex(zend_op_array *op_array) if (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 (new_name) { - op_array->function_name = new_name; - } else { + if (!zend_shared_alloc_get_xlat_entry(old_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); + } } } |
