File tree Expand file tree Collapse file tree 1 file changed +2
-5
lines changed Expand file tree Collapse file tree 1 file changed +2
-5
lines changed Original file line number Diff line number Diff line change 2323#include "fuzzer.h"
2424#include "fuzzer-sapi.h"
2525#include "zend_exceptions.h"
26+ #include "zend_vm.h"
2627
2728#define FILE_NAME "/tmp/fuzzer.php"
2829#define MAX_STEPS 1000
3233static uint32_t steps_left ;
3334static bool bailed_out = false;
3435
35- /* Because the fuzzer is always compiled with clang,
36- * we can assume that we don't use global registers / hybrid VM. */
37- typedef zend_op * (ZEND_FASTCALL * opcode_handler_t )(zend_execute_data * , const zend_op * );
38-
3936static zend_always_inline void fuzzer_bailout (void ) {
4037 bailed_out = true;
4138 zend_bailout ();
@@ -67,7 +64,7 @@ static void fuzzer_execute_ex(zend_execute_data *execute_data) {
6764
6865 while (1 ) {
6966 fuzzer_step ();
70- opline = ((opcode_handler_t ) opline -> handler )(execute_data , opline );
67+ opline = ((zend_vm_opcode_handler_func_t ) zend_get_opcode_handler_func ( opline ) )(execute_data , opline );
7168 if ((uintptr_t ) opline & ZEND_VM_ENTER_BIT ) {
7269 opline = (const zend_op * ) ((uintptr_t ) opline & ~ZEND_VM_ENTER_BIT );
7370 if (opline ) {
You can’t perform that action at this time.
0 commit comments