summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-07-04 10:01:10 +0000
committerDmitry Stogov <dmitry@php.net>2005-07-04 10:01:10 +0000
commit1d33a3e95e4e23188ca7fb4d289a96d1fa4be50e (patch)
tree2f370468d0bca7f4bbab7f679e975e03925e4429 /Zend/zend_execute_API.c
parent43210250eaeb5139d867ba848b87173946e6e5fe (diff)
downloadphp-git-1d33a3e95e4e23188ca7fb4d289a96d1fa4be50e.tar.gz
Fixed bug #31158 (array_splice on $GLOBALS crashes)
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 1ff2f99126..5272718ddc 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -1384,6 +1384,20 @@ void zend_verify_abstract_class(zend_class_entry *ce TSRMLS_DC)
}
}
+ZEND_API void zend_reset_all_cv(HashTable *symbol_table TSRMLS_DC)
+{
+ zend_execute_data *ex;
+ int i;
+
+ for (ex = EG(current_execute_data); ex; ex = ex->prev_execute_data) {
+ if (ex->symbol_table == symbol_table) {
+ for (i = 0; i < ex->op_array->last_var; i++) {
+ ex->CVs[i] = NULL;
+ }
+ }
+ }
+}
+
ZEND_API int zend_delete_global_variable(char *name, int name_len TSRMLS_DC)
{
zend_execute_data *ex;