Line data Source code
1 : #include "fd_util.h" 2 : 3 : #include <stdlib.h> 4 : #include <stdint.h> 5 : 6 : int 7 : LLVMFuzzerInitialize( int *argc, 8 12 : char ***argv ) { 9 12 : putenv( "FD_LOG_BACKTRACE=0" ); 10 12 : fd_boot( argc, argv ); 11 12 : (void) atexit( fd_halt ); 12 12 : fd_log_level_core_set( 1 ); 13 12 : return 0; 14 12 : } 15 : 16 : int 17 : LLVMFuzzerTestOneInput( uchar const *data, 18 : ulong size ) { 19 : ulong metadata_size = sizeof(ulong); 20 : if ( size < metadata_size ) { 21 : return 0; 22 : } 23 : 24 : ulong seed = FD_LOAD( ulong, data ); 25 : size -= metadata_size; 26 : uchar *content = (uchar*)data + metadata_size; 27 : uchar *dst = malloc( size ); 28 : if ( dst == NULL ) { 29 : return 0; 30 : } 31 : 32 : fd_hash_memcpy( seed, dst, content, size ); 33 : fd_hash( seed, content, size ); 34 : free( dst ); 35 : 36 : return 0; 37 : }