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