summaryrefslogtreecommitdiff
path: root/Zend/zend_exceptions.c
diff options
context:
space:
mode:
authorAaron Piotrowski <aaron@trowski.com>2015-06-17 19:48:17 -0500
committerAaron Piotrowski <aaron@trowski.com>2015-06-17 19:48:17 -0500
commit8813b389ea745b4dfaa72700844063de4de22859 (patch)
tree89ded7dd4a165e50e208707d2ccb19ff6de01836 /Zend/zend_exceptions.c
parentf97dbb058f0ed9c01b6fe200cf7d3339e4179277 (diff)
downloadphp-git-8813b389ea745b4dfaa72700844063de4de22859.tar.gz
Fix bug when constructing an Error with invalid params
Diffstat (limited to 'Zend/zend_exceptions.c')
-rw-r--r--Zend/zend_exceptions.c8
1 files 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);
}