diff options
-rw-r--r-- | ext/spl/php_spl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index aab10e568a..b8e10a563c 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -378,14 +378,14 @@ static void autoload_func_info_dtor(zval *element) if (!Z_ISUNDEF(alfi->obj)) { zval_ptr_dtor(&alfi->obj); } - if (!Z_ISUNDEF(alfi->closure)) { - zval_ptr_dtor(&alfi->closure); - } if (alfi->func_ptr && UNEXPECTED(alfi->func_ptr->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE)) { zend_string_release(alfi->func_ptr->common.function_name); zend_free_trampoline(alfi->func_ptr); } + if (!Z_ISUNDEF(alfi->closure)) { + zval_ptr_dtor(&alfi->closure); + } efree(alfi); } |