Do not mark automatic return 1; as executable

This commit is contained in:
Bob Weinand 2015-07-31 02:26:28 +02:00
parent 1da4ee25b8
commit 36aa92a67d

View file

@ -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--;
}