. Fixed bug #73876 (Crash when exporting **= in expansion of assign op).
(Sara)
. Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester)
+ . Fixed bug #73973 (assertion error in debug_zval_dump). (andrewnester)
- DOM:
. Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes).
}
} else if (Z_REFCOUNTED_P(val)) {
Z_ADDREF_P(val);
- if (UNEXPECTED(Z_TYPE_INFO_P(val) == IS_RESOURCE_EX)) {
- Z_TYPE_INFO_P(new_val) &= ~(IS_TYPE_REFCOUNTED << Z_TYPE_FLAGS_SHIFT);
- }
}
} ZEND_HASH_FOREACH_END();
}
case IS_FALSE:
case IS_TRUE:
case IS_NULL:
- break;
case IS_RESOURCE:
- ZVAL_COPY(&val_free, val);
- /* TODO: better solution than this tricky disable dtor on resource? */
- Z_TYPE_INFO(val_free) &= ~(IS_TYPE_REFCOUNTED << Z_TYPE_FLAGS_SHIFT);
- val = &val_free;
break;
case IS_ARRAY:
if (!Z_IMMUTABLE_P(val)) {
zend_llist_destroy(&CG(open_files));
} zend_end_try();
+ zend_try {
+ clean_non_persistent_constants();
+ } zend_end_try();
+
zend_try {
zend_close_rsrc_list(&EG(regular_list));
} zend_end_try();
}
} zend_end_try();
- zend_try {
- clean_non_persistent_constants();
- } zend_end_try();
-
zend_try {
#if 0&&ZEND_DEBUG
signal(SIGSEGV, original_sigsegv_handler);
--- /dev/null
+--TEST--
+Bug #73973 debug_zval_dump() assertion error for resource consts with --enable-debug
+--FILE--
+<?php
+define('myerr', fopen('php://stderr', 'w'));
+debug_zval_dump(myerr);
+?>
+--EXPECTF--
+resource(5) of type (stream) refcount(%d)