aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2024-09-04 16:34:09 +0200
committervanhauser-thc <vh@thc.org>2024-09-04 16:34:09 +0200
commitdfc9b3dba0375ed5f14e1d637bd845cda624042e (patch)
treeda1a889041bcc66e7d7ad9f2494829108d43453b /utils
parentab5f95e17ac7d957e26f5c1789a8624a238ac0e0 (diff)
downloadafl++-dfc9b3dba0375ed5f14e1d637bd845cda624042e.tar.gz
already support LLVMFuzzerCleanup
Diffstat (limited to 'utils')
-rw-r--r--utils/aflpp_driver/aflpp_driver.c10
1 files changed, 10 insertions, 0 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;
}