diff options
| author | Aaron Piotrowski <aaron@trowski.com> | 2015-06-17 19:48:17 -0500 |
|---|---|---|
| committer | Aaron Piotrowski <aaron@trowski.com> | 2015-06-17 19:48:17 -0500 |
| commit | 8813b389ea745b4dfaa72700844063de4de22859 (patch) | |
| tree | 89ded7dd4a165e50e208707d2ccb19ff6de01836 | |
| parent | f97dbb058f0ed9c01b6fe200cf7d3339e4179277 (diff) | |
| download | php-git-8813b389ea745b4dfaa72700844063de4de22859.tar.gz | |
Fix bug when constructing an Error with invalid params
| -rw-r--r-- | Zend/zend_exceptions.c | 8 |
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); } |
