]> granicus.if.org Git - php/commitdiff
Avoid function duplication
authorDmitry Stogov <dmitry@zend.com>
Thu, 30 Nov 2017 13:23:15 +0000 (16:23 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 30 Nov 2017 13:23:15 +0000 (16:23 +0300)
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c

index 559322b088ff72bd8a6c98b178e611db05a04dbb..2a50b59eed0dc131a9c3ffc6bb9be588fc7bf9b1 100644 (file)
@@ -2499,15 +2499,10 @@ static void accel_globals_ctor(zend_accel_globals *accel_globals)
        accel_gen_system_id();
 }
 
-static void accel_globals_internal_func_dtor(zval *zv)
-{
-       free(Z_PTR_P(zv));
-}
-
 static void accel_globals_dtor(zend_accel_globals *accel_globals)
 {
        if (accel_globals->function_table.nTableSize) {
-               accel_globals->function_table.pDestructor = accel_globals_internal_func_dtor;
+               accel_globals->function_table.pDestructor = NULL;
                zend_hash_destroy(&accel_globals->function_table);
        }
 }
index f2ac334e4762d3eb34eb2c65394083f8cf258876..b914d2346382c6fb2a007cbd7a55a642fe9fd9de 100644 (file)
@@ -143,7 +143,7 @@ void zend_accel_copy_internal_functions(void)
        ZEND_HASH_FOREACH_STR_KEY_VAL(CG(function_table), key, val) {
                zend_internal_function *function = Z_PTR_P(val);
                if (function->type == ZEND_INTERNAL_FUNCTION) {
-                       zend_hash_update_mem(&ZCG(function_table), key, function, sizeof(zend_internal_function));
+                       zend_hash_add_new_ptr(&ZCG(function_table), key, function);
                }
        } ZEND_HASH_FOREACH_END();
        ZCG(internal_functions_count) = zend_hash_num_elements(&ZCG(function_table));