summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-01-11 10:07:10 +0000
committerDmitry Stogov <dmitry@php.net>2010-01-11 10:07:10 +0000
commit78e905bde0f2bb4b66b7b39b9d43457189808480 (patch)
tree14a69fb78d38e170cf769e7e1d2ca480374830fc
parent9d15e95575e94a67eca6a9d027955adb7ec7a6c7 (diff)
downloadphp-git-78e905bde0f2bb4b66b7b39b9d43457189808480.tar.gz
Fixed bug #50519 (segfault in garbage collection when using set_error_handler and DomDocument)
-rw-r--r--Zend/zend_variables.c14
-rw-r--r--Zend/zend_variables.h5
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