LLVM  4.0.0
Macros | Functions | Variables
afl_driver.cpp File Reference
#include <assert.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <signal.h>
#include <sys/resource.h>
#include <sys/time.h>
Include dependency graph for afl_driver.cpp:

Go to the source code of this file.

Macros

#define CHECK_ERROR(cond, error_message)
 

Functions

int LLVMFuzzerTestOneInput (const uint8_t *Data, size_t Size)
 
 __attribute__ ((weak)) int LLVMFuzzerInitialize(int *argc
 
int __afl_persistent_loop (unsigned int)
 
void __afl_manual_init ()
 
size_t GetPeakRSSMb ()
 
static void SetSigaction (int signum, void(*callback)(int, siginfo_t *, void *))
 
static void write_extra_stats ()
 
static void crash_handler (int, siginfo_t *, void *)
 
static void maybe_initialize_extra_stats ()
 
static void maybe_duplicate_stderr ()
 
int main (int argc, char **argv)
 

Variables

char *** argv
 
static volatile char AFL_PERSISTENT [] = "##SIG_AFL_PERSISTENT##"
 
static volatile char suppress_warning2 = AFL_PERSISTENT[0]
 
static volatile char AFL_DEFER_FORKSVR [] = "##SIG_AFL_DEFER_FORKSRV##"
 
static volatile char suppress_warning1 = AFL_DEFER_FORKSVR[0]
 
static const size_t kMaxAflInputSize = 1 << 20
 
static uint8_t AflInputBuf [kMaxAflInputSize]
 
static FILE * extra_stats_file = NULL
 
static uint32_t previous_peak_rss = 0
 
static time_t slowest_unit_time_secs = 0
 
static const int kNumExtraStats = 2
 
static const char * kExtraStatsFormatString
 

Macro Definition Documentation

#define CHECK_ERROR (   cond,
  error_message 
)
Value:
if (!(cond)) { \
fprintf(stderr, (error_message)); \
abort(); \
}

Definition at line 78 of file afl_driver.cpp.

Referenced by crash_handler(), main(), maybe_initialize_extra_stats(), and write_extra_stats().

Function Documentation

void __afl_manual_init ( )

Definition at line 8 of file AFLDriverTest.cpp.

Referenced by main().

int __afl_persistent_loop ( unsigned  int)

Definition at line 10 of file AFLDriverTest.cpp.

Referenced by main().

__attribute__ ( (weak)  )
static void crash_handler ( int  ,
siginfo_t *  ,
void *   
)
static

Definition at line 158 of file afl_driver.cpp.

References CHECK_ERROR, and write_extra_stats().

Referenced by maybe_initialize_extra_stats().

size_t GetPeakRSSMb ( )
int LLVMFuzzerTestOneInput ( const uint8_t *  Data,
size_t  Size 
)

Definition at line 11 of file AbsNegAndConstant64Test.cpp.

Referenced by main().

int main ( int  argc,
char **  argv 
)
static void maybe_duplicate_stderr ( )
static

Definition at line 223 of file afl_driver.cpp.

Referenced by main().

static void maybe_initialize_extra_stats ( )
static

Definition at line 176 of file afl_driver.cpp.

References CHECK_ERROR, crash_handler(), SetSigaction(), and write_extra_stats().

Referenced by main().

static void SetSigaction ( int  signum,
void(*)(int, siginfo_t *, void *)  callback 
)
static

Definition at line 129 of file afl_driver.cpp.

Referenced by maybe_initialize_extra_stats().

static void write_extra_stats ( )
static

Definition at line 142 of file afl_driver.cpp.

References CHECK_ERROR, GetPeakRSSMb(), and previous_peak_rss.

Referenced by crash_handler(), and maybe_initialize_extra_stats().

Variable Documentation

volatile char AFL_DEFER_FORKSVR[] = "##SIG_AFL_DEFER_FORKSRV##"
static

Definition at line 96 of file afl_driver.cpp.

volatile char AFL_PERSISTENT[] = "##SIG_AFL_PERSISTENT##"
static

Definition at line 91 of file afl_driver.cpp.

uint8_t AflInputBuf[kMaxAflInputSize]
static

Definition at line 102 of file afl_driver.cpp.

char*** argv
FILE* extra_stats_file = NULL
static

Definition at line 105 of file afl_driver.cpp.

const char* kExtraStatsFormatString
static
Initial value:
= "peak_rss_mb : %u\n"
"slowest_unit_time_sec : %u\n"

Definition at line 109 of file afl_driver.cpp.

const size_t kMaxAflInputSize = 1 << 20
static

Definition at line 101 of file afl_driver.cpp.

const int kNumExtraStats = 2
static

Definition at line 108 of file afl_driver.cpp.

uint32_t previous_peak_rss = 0
static

Definition at line 106 of file afl_driver.cpp.

Referenced by write_extra_stats().

time_t slowest_unit_time_secs = 0
static

Definition at line 107 of file afl_driver.cpp.

volatile char suppress_warning1 = AFL_DEFER_FORKSVR[0]
static

Definition at line 98 of file afl_driver.cpp.

volatile char suppress_warning2 = AFL_PERSISTENT[0]
static

Definition at line 93 of file afl_driver.cpp.