diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-07-19 20:32:46 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-07-20 18:00:42 +0200 |
commit | 50e76d951eeb32be4c6d6cb0e24f9d4f6733f0fb (patch) | |
tree | d6cdcf30f276f9c547c06c710d819adb8a41d2ac /sapi/phpdbg/phpdbg_bp.c | |
parent | 1f9bba68a9d9fadbecf740404fe293f494b66516 (diff) | |
download | php-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.c | 5 |
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; } |