diff options
| -rw-r--r-- | Zend/zend_builtin_functions.c | 16 | 
1 files changed, 11 insertions, 5 deletions
| 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)); | 
