summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_bp.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2015-07-19 20:32:46 +0200
committerBob Weinand <bobwei9@hotmail.com>2015-07-20 18:00:42 +0200
commit50e76d951eeb32be4c6d6cb0e24f9d4f6733f0fb (patch)
treed6cdcf30f276f9c547c06c710d819adb8a41d2ac /sapi/phpdbg/phpdbg_bp.c
parent1f9bba68a9d9fadbecf740404fe293f494b66516 (diff)
downloadphp-git-50e76d951eeb32be4c6d6cb0e24f9d4f6733f0fb.tar.gz
Always only halt upon first non-recv opcode in a function
Diffstat (limited to 'sapi/phpdbg/phpdbg_bp.c')
-rw-r--r--sapi/phpdbg/phpdbg_bp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sapi/phpdbg/phpdbg_bp.c b/sapi/phpdbg/phpdbg_bp.c
index 06c1e40b6f..99f2d0990c 100644
--- a/sapi/phpdbg/phpdbg_bp.c
+++ b/sapi/phpdbg/phpdbg_bp.c
@@ -1080,8 +1080,9 @@ PHPDBG_API phpdbg_breakbase_t *phpdbg_find_breakpoint(zend_execute_data *execute
}
if (PHPDBG_G(flags) & (PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_SYM_BP)) {
- /* check we are at the beginning of the stack */
- if (execute_data->opline == execute_data->func->op_array.opcodes) {
+ zend_op_array *op_array = &execute_data->func->op_array;
+ /* check we are at the beginning of the stack, but after argument RECV */
+ if (execute_data->opline == op_array->opcodes + op_array->num_args + !!(op_array->fn_flags & ZEND_ACC_VARIADIC)) {
if ((base = phpdbg_find_breakpoint_symbol(execute_data->func))) {
goto result;
}