diff options
Diffstat (limited to 'utils/aflpp_driver')
| -rw-r--r-- | utils/aflpp_driver/aflpp_driver.c | 10 | ||||
| -rw-r--r-- | utils/aflpp_driver/aflpp_qemu_driver_hook.c | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/utils/aflpp_driver/aflpp_driver.c b/utils/aflpp_driver/aflpp_driver.c index 9ffb2383..6e992266 100644 --- a/utils/aflpp_driver/aflpp_driver.c +++ b/utils/aflpp_driver/aflpp_driver.c @@ -80,6 +80,7 @@ extern unsigned int __afl_map_size; /*__attribute__((weak))*/ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); __attribute__((weak)) int LLVMFuzzerInitialize(int *argc, char ***argv); +__attribute__((weak)) void LLVMFuzzerCleanup(void); __attribute__((weak)) int LLVMFuzzerRunDriver( int *argc, char ***argv, int (*callback)(const uint8_t *data, size_t size)); @@ -338,6 +339,7 @@ __attribute__((weak)) int LLVMFuzzerRunDriver( output_file = stderr; maybe_duplicate_stderr(); maybe_close_fd_mask(); + if (LLVMFuzzerInitialize) { fprintf(stderr, "Running LLVMFuzzerInitialize ...\n"); @@ -441,6 +443,14 @@ __attribute__((weak)) int LLVMFuzzerRunDriver( } + if (LLVMFuzzerCleanup) { + + fprintf(stderr, "Running LLVMFuzzerCleanup ...\n"); + LLVMFuzzerCleanup(); + fprintf(stderr, "Exiting ...\n"); + + } + return 0; } diff --git a/utils/aflpp_driver/aflpp_qemu_driver_hook.c b/utils/aflpp_driver/aflpp_qemu_driver_hook.c index 2979fadc..d75de539 100644 --- a/utils/aflpp_driver/aflpp_qemu_driver_hook.c +++ b/utils/aflpp_driver/aflpp_qemu_driver_hook.c @@ -4,7 +4,7 @@ #include <string.h> #define g2h(x) ((void *)((unsigned long)(x) + guest_base)) -#define h2g(x) ((uint64_t)(x)-guest_base) +#define h2g(x) ((uint64_t)(x) - guest_base) void afl_persistent_hook(struct x86_64_regs *regs, uint64_t guest_base, uint8_t *input_buf, uint32_t input_buf_len) { |
