From 36aa92a67ddeaa73754274b05f0ed35006b18ebc Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 31 Jul 2015 02:26:28 +0200 Subject: Do not mark automatic return 1; as executable --- sapi/phpdbg/phpdbg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sapi/phpdbg/phpdbg.c') diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 874704bc63..ca86a29fcf 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -432,7 +432,9 @@ static void phpdbg_oplog_fill_executable(zend_op_array *op_array, HashTable *ins ZVAL_LONG(&zero, 0); /* ignore autogenerated return (well, not too precise with finally branches, but that's okay) */ - if (op_array->last > 1 && (end - 1)->opcode == ZEND_RETURN && ((end - 2)->opcode == ZEND_RETURN || (end - 2)->opcode == ZEND_GENERATOR_RETURN || (end - 2)->opcode == ZEND_THROW)) { + if (op_array->last >= 1 && (end - 1)->opcode == ZEND_RETURN + && ((op_array->last > 1 && ((end - 2)->opcode == ZEND_RETURN || (end - 2)->opcode == ZEND_GENERATOR_RETURN || (end - 2)->opcode == ZEND_THROW)) + || op_array->function_name == NULL)) { end--; } -- cgit v1.2.1