diff --git a/NEWS b/NEWS index c278090b9450d..7ba6d2a0d6712 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,8 @@ PHP NEWS zero). (Tony) - Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope). (Dmitry) +- Fixed bug #34978 (php out of memory or segmentation fault while installing + sugarcrm 3.5.1a). (Dmitry) - Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h). (Tony) - Fixed bug #34950 (Unable to get WSDL through proxy). (Dmitry) - Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index b708de33c4b73..335ec97a6985d 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -397,6 +397,13 @@ ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC) zval_dtor(zv); safe_free_zval_ptr_rel(zv ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC); } else if (zv->refcount == 1) { + if ((*zval_ptr)->type == IS_OBJECT) { + TSRMLS_FETCH(); + + if (EG(ze1_compatibility_mode)) { + return; + } + } zv->is_ref = 0; } }