summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_prompt.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2015-04-20 13:55:09 +0200
committerBob Weinand <bobwei9@hotmail.com>2015-04-20 13:55:09 +0200
commit890212866dd2d9842a4c4f97ba385b244651a170 (patch)
treefe6d9252d076d2110053b643fc72edb323b5e588 /sapi/phpdbg/phpdbg_prompt.c
parent5f35e571fa3b73714d917564ed1a11184853cc6a (diff)
downloadphp-git-890212866dd2d9842a4c4f97ba385b244651a170.tar.gz
Fix uncaught exception in phpdbg
Diffstat (limited to 'sapi/phpdbg/phpdbg_prompt.c')
-rw-r--r--sapi/phpdbg/phpdbg_prompt.c13
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) /* {{{ */