summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-07-05 10:44:48 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-07-05 10:46:41 +0200
commitea43624972b51c367614c62257bda09a90f1d76f (patch)
tree009d86043f5975c6ece61c67554eedafd6b29d88 /ext
parentd3c4841b180d57b5bd65171b68043504a4598aca (diff)
downloadphp-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.c10
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);
+ }
}
}