From 8813b389ea745b4dfaa72700844063de4de22859 Mon Sep 17 00:00:00 2001 From: Aaron Piotrowski Date: Wed, 17 Jun 2015 19:48:17 -0500 Subject: [PATCH] Fix bug when constructing an Error with invalid params --- Zend/zend_exceptions.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index aff602c6e8..f157abb155 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -242,21 +242,21 @@ ZEND_METHOD(exception, __construct) zend_class_entry *base_ce; int argc = ZEND_NUM_ARGS(); + object = getThis(); + base_ce = zend_get_exception_base(object); + if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, argc, "|SlO!", &message, &code, &previous, zend_ce_throwable) == FAILURE) { zend_class_entry *ce; if (execute_data->called_scope) { ce = execute_data->called_scope; } else { - ce = default_exception_ce; + ce = base_ce; } zend_error(E_EXCEPTION | E_ERROR, "Wrong parameters for %s([string $message [, long $code [, Throwable $previous = NULL]]])", ce->name->val); return; } - object = getThis(); - base_ce = zend_get_exception_base(object); - if (message) { zend_update_property_str(base_ce, object, "message", sizeof("message")-1, message); } -- 2.40.0