]> granicus.if.org Git - php/commitdiff
During size calculation, pointer should be kept unchanged
authorDmitry Stogov <dmitry@zend.com>
Mon, 8 Oct 2018 20:52:24 +0000 (23:52 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 8 Oct 2018 20:52:24 +0000 (23:52 +0300)
ext/opcache/zend_persist_calc.c

index 66ca701e1e41b73e62723b1d62cdd6472dda5e8c..fcd5db58a7e9d77307a68433f3b57a22d146bb3b 100644 (file)
@@ -267,9 +267,7 @@ static void zend_persist_class_method_calc(zval *zv)
 
        ZEND_ASSERT(op_array->type == ZEND_USER_FUNCTION);
        old_op_array = zend_shared_alloc_get_xlat_entry(op_array);
-       if (old_op_array) {
-               Z_PTR_P(zv) = old_op_array;
-       } else {
+       if (!old_op_array) {
                ADD_ARENA_SIZE(sizeof(zend_op_array));
                zend_persist_op_array_calc_ex(Z_PTR_P(zv));
                zend_shared_alloc_register_xlat_entry(op_array, Z_PTR_P(zv));