cvs: Zend / zend_execute.c
| From: | Thies C. Arntzen | Date: | Sat, 20 Jul 2002 15:52:56 +0000 |
| Subject: | cvs: Zend / zend_execute.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-269@lists.php.net to get a copy of this message | ||
thies Sat Jul 20 11:52:56 2002 EDT
Modified files:
/Zend zend_execute.c
Log:
make sure that execute_data_ptr gets re-initialized after possible recursion
Index: Zend/zend_execute.c
diff -u Zend/zend_execute.c:1.296 Zend/zend_execute.c:1.297
--- Zend/zend_execute.c:1.296 Thu May 16 00:28:18 2002
+++ Zend/zend_execute.c Sat Jul 20 11:52:56 2002
@@ -1585,6 +1585,7 @@
ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
INIT_ZVAL(*(EX(Ts)[EX(opline)->result.u.var].var.ptr));
((zend_internal_function *)
EX(function_state).function)->handler(EX(opline)->extended_value,
EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr, return_value_used TSRMLS_CC);
+ EG(execute_data_ptr) = &execute_data;
if (EX(object).ptr) {
EX(object).ptr->refcount--;
}
@@ -1625,6 +1626,7 @@
EG(active_op_array) = (zend_op_array *) EX(function_state).function;
zend_execute(EG(active_op_array) TSRMLS_CC);
+ EG(execute_data_ptr) = &execute_data;
if (return_value_used && !EX(Ts)[EX(opline)->result.u.var].var.ptr) {
ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr);
@@ -2128,6 +2130,7 @@
EX(Ts)[EX(opline)->result.u.var].var.ptr = NULL;
zend_execute(new_op_array TSRMLS_CC);
+ EG(execute_data_ptr) = &execute_data;
if (!return_value_used) {
if (EX(Ts)[EX(opline)->result.u.var].var.ptr) {