From 7fd3375fb5c74274fb7186c332681f420f1aed23 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 8 Oct 2014 16:08:26 +0400 Subject: [PATCH] Exposed zend_clean_and_cache_symbol_table() and fixed incorrect efree() --- Zend/zend_execute.c | 4 ++-- Zend/zend_execute.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 7348dda822..45a0dadcbb 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1370,11 +1370,11 @@ ZEND_API void execute_internal(zend_execute_data *execute_data, zval *return_val execute_data->func->internal_function.handler(execute_data, return_value TSRMLS_CC); } -void zend_clean_and_cache_symbol_table(zend_array *symbol_table TSRMLS_DC) /* {{{ */ +ZEND_API void zend_clean_and_cache_symbol_table(zend_array *symbol_table TSRMLS_DC) /* {{{ */ { if (EG(symtable_cache_ptr) >= EG(symtable_cache_limit)) { zend_hash_destroy(&symbol_table->ht); - FREE_HASHTABLE(symbol_table); + efree_size(symbol_table, sizeof(zend_array)); } else { /* clean before putting into the cache, since clean could call dtors, which could use cached hash */ diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index 9c620864dd..5178ab6c4b 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -314,7 +314,7 @@ ZEND_API zval *zend_get_zval_ptr(int op_type, const znode_op *node, const zend_e ZEND_API int zend_do_fcall(ZEND_OPCODE_HANDLER_ARGS); -void zend_clean_and_cache_symbol_table(zend_array *symbol_table TSRMLS_DC); +ZEND_API void zend_clean_and_cache_symbol_table(zend_array *symbol_table TSRMLS_DC); void zend_free_compiled_variables(zend_execute_data *execute_data TSRMLS_DC); #define CACHED_PTR(num) \ -- 2.40.0