From: Dmitry Stogov Date: Mon, 11 Jan 2010 10:07:10 +0000 (+0000) Subject: Fixed bug #50519 (segfault in garbage collection when using set_error_handler and... X-Git-Tag: php-5.4.0alpha1~191^2~2110 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=78e905bde0f2bb4b66b7b39b9d43457189808480;p=php Fixed bug #50519 (segfault in garbage collection when using set_error_handler and DomDocument) --- 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