diff options
author | Dmitry Stogov <dmitry@php.net> | 2010-01-11 10:07:10 (GMT) |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2010-01-11 10:07:10 (GMT) |
commit | d2f681cecd43dd40c369b5e29568b87252134e6f (patch) | |
tree | 901493be4060a78b4e13c742af116a36cdc452be /Zend | |
parent | bf0f58825ef0233633ab4a716d3d39ebb25a59dd (diff) | |
download | php-d2f681cecd43dd40c369b5e29568b87252134e6f.tar.gz |
Fixed bug #50519 (segfault in garbage collection when using set_error_handler and DomDocument)
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/zend_variables.c | 14 | ||||
-rw-r--r-- | Zend/zend_variables.h | 5 |
2 files changed, 9 insertions, 10 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index a607faa..dce98ba 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -151,13 +151,6 @@ ZEND_API int zend_print_variable(zval *var) } -#if ZEND_DEBUG -ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue) -{ - zval_copy_ctor(zvalue); -} - - ZEND_API void _zval_dtor_wrapper(zval *zvalue) { TSRMLS_FETCH(); @@ -167,6 +160,13 @@ ZEND_API void _zval_dtor_wrapper(zval *zvalue) } +#if ZEND_DEBUG +ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue) +{ + zval_copy_ctor(zvalue); +} + + ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue) { zval_internal_dtor(zvalue); diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h index 4a9fd25..9304a67 100644 --- a/Zend/zend_variables.h +++ b/Zend/zend_variables.h @@ -50,26 +50,25 @@ ZEND_API int zend_print_variable(zval *var); ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC); ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC); ZEND_API void _zval_internal_ptr_dtor(zval **zvalue ZEND_FILE_LINE_DC); +ZEND_API void _zval_dtor_wrapper(zval *zvalue); #define zval_copy_ctor(zvalue) _zval_copy_ctor((zvalue) ZEND_FILE_LINE_CC) #define zval_dtor(zvalue) _zval_dtor((zvalue) ZEND_FILE_LINE_CC) #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC) #define zval_internal_dtor(zvalue) _zval_internal_dtor((zvalue) ZEND_FILE_LINE_CC) #define zval_internal_ptr_dtor(zvalue) _zval_internal_ptr_dtor((zvalue) ZEND_FILE_LINE_CC) +#define zval_dtor_wrapper _zval_dtor_wrapper #if ZEND_DEBUG ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue); -ZEND_API void _zval_dtor_wrapper(zval *zvalue); ZEND_API void _zval_ptr_dtor_wrapper(zval **zval_ptr); ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue); ZEND_API void _zval_internal_ptr_dtor_wrapper(zval **zvalue); #define zval_copy_ctor_wrapper _zval_copy_ctor_wrapper -#define zval_dtor_wrapper _zval_dtor_wrapper #define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper #define zval_internal_dtor_wrapper _zval_internal_dtor_wrapper #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor_wrapper #else #define zval_copy_ctor_wrapper _zval_copy_ctor_func -#define zval_dtor_wrapper _zval_dtor_func #define zval_ptr_dtor_wrapper _zval_ptr_dtor #define zval_internal_dtor_wrapper _zval_internal_dtor #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor |