diff options
| author | Andi Gutmans <andi@php.net> | 1999-07-28 17:59:55 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 1999-07-28 17:59:55 +0000 |
| commit | 741ca1671164f51d330f3518ea14591ba8feff8d (patch) | |
| tree | 52306459c2ad9f8cf28b5cc8547cc36b8812104e /Zend/zend_execute_API.c | |
| parent | a7af382874a2b4fcb7dabf01b400bd06a162fc74 (diff) | |
| download | php-git-741ca1671164f51d330f3518ea14591ba8feff8d.tar.gz | |
- Fixed various inheritance problems & Andrey's leak
Diffstat (limited to 'Zend/zend_execute_API.c')
| -rw-r--r-- | Zend/zend_execute_API.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index a5b94889c9..586249a345 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -91,6 +91,7 @@ void init_executor(CLS_D ELS_DC) EG(error_zval).EA.is_ref=0; EG(error_zval).EA.locks = 0; EG(error_zval_ptr)=&EG(error_zval); + EG(destroying_function_symbol_table) = 0; zend_ptr_stack_init(&EG(arg_types_stack)); zend_stack_init(&EG(overloaded_objects_stack)); /* destroys stack frame, therefore makes core dumps worthless */ @@ -215,7 +216,13 @@ ZEND_API int zval_ptr_dtor(zval **zval_ptr) safe_free_zval_ptr(*zval_ptr); } if (locked) { - return 0; /* don't kill the container bucket */ + ELS_FETCH(); + + if (EG(destroying_function_symbol_table)) { + return 1; + } else { + return 0; /* don't kill the container bucket */ + } } else { return 1; } |
