diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-04-20 13:55:09 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-04-20 13:55:09 +0200 |
commit | 890212866dd2d9842a4c4f97ba385b244651a170 (patch) | |
tree | fe6d9252d076d2110053b643fc72edb323b5e588 /sapi/phpdbg/phpdbg_prompt.c | |
parent | 5f35e571fa3b73714d917564ed1a11184853cc6a (diff) | |
download | php-git-890212866dd2d9842a4c4f97ba385b244651a170.tar.gz |
Fix uncaught exception in phpdbg
Diffstat (limited to 'sapi/phpdbg/phpdbg_prompt.c')
-rw-r--r-- | sapi/phpdbg/phpdbg_prompt.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sapi/phpdbg/phpdbg_prompt.c b/sapi/phpdbg/phpdbg_prompt.c index fdee749df9..aa2b1b8b0f 100644 --- a/sapi/phpdbg/phpdbg_prompt.c +++ b/sapi/phpdbg/phpdbg_prompt.c @@ -575,14 +575,21 @@ static inline void phpdbg_handle_exception(void) /* }}} */ zval_ptr_dtor(&trace); } else { - phpdbg_error("exception", "name=\"%s\"" "Uncaught %s!", EG(exception)->ce->name->val); + phpdbg_error("exception", "name=\"%s\"", "Uncaught %s!", EG(exception)->ce->name->val); } /* output useful information about address */ - phpdbg_writeln("exception", "opline=\"%p\" file=\"%s\" line=\"%u\"", "Stack entered at %p in %s on line %u", EG(current_execute_data)->func->op_array.opcodes, filename, lineno); +/* not really useful ??? + phpdbg_writeln("exception", "opline=\"%p\" file=\"%s\" line=\"%u\"", "Stack entered at %p in %s on line %u", PHPDBG_G(ops)->opcodes, filename, lineno); */ zval_dtor(&fci.function_name); - zend_clear_exception(); + if (EG(prev_exception)) { + OBJ_RELEASE(EG(prev_exception)); + EG(prev_exception) = 0; + } + OBJ_RELEASE(EG(exception)); + EG(exception) = NULL; + EG(opline_before_exception) = NULL; } /* }}} */ PHPDBG_COMMAND(run) /* {{{ */ |