diff options
author | Dmitry Stogov <dmitry@php.net> | 2010-01-11 10:07:10 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2010-01-11 10:07:10 +0000 |
commit | 78e905bde0f2bb4b66b7b39b9d43457189808480 (patch) | |
tree | 14a69fb78d38e170cf769e7e1d2ca480374830fc | |
parent | 9d15e95575e94a67eca6a9d027955adb7ec7a6c7 (diff) | |
download | php-git-78e905bde0f2bb4b66b7b39b9d43457189808480.tar.gz |
Fixed bug #50519 (segfault in garbage collection when using set_error_handler and DomDocument)
-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 0d2447c96c..1793b9a426 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -171,13 +171,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(); @@ -187,6 +180,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 4251f7530f..a2a94e61e4 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 |