summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_opcode.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-01-31 22:39:30 +0300
committerDmitry Stogov <dmitry@zend.com>2018-01-31 22:39:30 +0300
commitba298725d194f753c0220bd9ac482e3d257a9ddc (patch)
tree5ecb20ba5c368ea2b605c52ac3409492419dba26 /sapi/phpdbg/phpdbg_opcode.c
parent3c6e1c2b817179f35d6822d7576866834728561d (diff)
downloadphp-git-ba298725d194f753c0220bd9ac482e3d257a9ddc.tar.gz
Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value)
Diffstat (limited to 'sapi/phpdbg/phpdbg_opcode.c')
-rw-r--r--sapi/phpdbg/phpdbg_opcode.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sapi/phpdbg/phpdbg_opcode.c b/sapi/phpdbg/phpdbg_opcode.c
index 313bb4fae8..4b3bf4c668 100644
--- a/sapi/phpdbg/phpdbg_opcode.c
+++ b/sapi/phpdbg/phpdbg_opcode.c
@@ -115,7 +115,13 @@ char *phpdbg_decode_opline(zend_op_array *ops, zend_op *opline) /*{{{ */
/* RESULT */
switch (opline->opcode) {
case ZEND_CATCH:
- spprintf(&decode[3], 0, "%" PRIu32, opline->result.num);
+ if (opline->extended_value == ZEND_LAST_CATCH) {
+ if (decode[2]) {
+ efree(decode[2]);
+ decode[2] = NULL;
+ }
+ }
+ decode[3] = phpdbg_decode_op(ops, opline, &opline->result, opline->result_type);
break;
default:
decode[3] = phpdbg_decode_op(ops, opline, &opline->result, opline->result_type);