From: foobar Date: Wed, 21 May 2003 21:42:25 +0000 (+0000) Subject: Fixed bug #23619 (set_error_handler() registered handler not called for object instan... X-Git-Tag: RELEASE_1_0_2~644 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bec958114b43194413c3ac92a763228d0176ff94;p=php Fixed bug #23619 (set_error_handler() registered handler not called for object instances). (Jani, waboring@qualys.com) --- diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 69921a1d60..b458724815 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1027,11 +1027,17 @@ ZEND_FUNCTION(set_error_handler) } ALLOC_ZVAL(EG(user_error_handler)); - if (Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */ - FREE_ZVAL(EG(user_error_handler)); - EG(user_error_handler) = NULL; - RETURN_TRUE; - } +#ifdef JANI_0 + /* + * This part would never be reached unless there is something + * wrong with the engine as empty string can not be valid call back. + * See bug #23619 for more information why this is left here. + * (this only applies to non-debug-builds.) + */ + if (Z_STRLEN_PP(error_handler)==0) { /* unset user-defined handler */ + zend_error(E_ERROR, "%s(): This should never happen! '%s'", get_active_function_name(TSRMLS_C), error_handler); + } +#endif *EG(user_error_handler) = **error_handler; zval_copy_ctor(EG(user_error_handler));