SoapServer::setClass() method). (Dmitry)
- Added support for hexadecimal entity in imagettftext() for the bundled GD.
(Pierre)
+- Fixed bug #38624 (Strange warning when incrementing an object property and
+ exception is thrown from __get method). (Tony)
- Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too
low). (Dmitry)
- Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval
--- /dev/null
+--TEST--
+Bug #38624 (Strange warning when incrementing an object property and exception is thrown from __get method)
+--FILE--
+<?php
+
+class impl
+{
+ public function __construct()
+ {
+ $this->counter++;
+ }
+ public function __set( $name, $value )
+ {
+ throw new Exception( "doesn't work" );
+ }
+
+ public function __get( $name )
+ {
+ throw new Exception( "doesn't work" );
+ }
+
+}
+
+$impl = new impl();
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Uncaught exception 'Exception' with message 'doesn't work' in %s:%d
+Stack trace:
+#0 %s(%d): impl->__get('counter')
+#1 %s(%d): impl->__construct()
+#2 {main}
+ thrown in %s on line %d
if (!obj_ce) {
obj_ce = object_pp ? Z_OBJCE_PP(object_pp) : NULL;
}
- zend_error(E_CORE_ERROR, "Couldn't execute method %s%s%s", obj_ce ? obj_ce->name : "", obj_ce ? "::" : "", function_name);
+ if (!EG(exception)) {
+ zend_error(E_CORE_ERROR, "Couldn't execute method %s%s%s", obj_ce ? obj_ce->name : "", obj_ce ? "::" : "", function_name);
+ }
}
if (!retval_ptr_ptr) {
if (retval) {