aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-02-22 16:56:35 +0100
committervanhauser-thc <vh@thc.org>2021-02-22 16:56:35 +0100
commitfb2a6b6941ffb6cf575d2a772c6e0d47b49835ee (patch)
treefe248c89f032d65f7952cfcaa24e5d4222d2df70 /src
parent70fe872940b9815698b4317bdde33da1dae27923 (diff)
downloadafl++-fb2a6b6941ffb6cf575d2a772c6e0d47b49835ee.tar.gz
minimum sync time
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-run.c2
-rw-r--r--src/afl-fuzz.c15
2 files changed, 14 insertions, 3 deletions
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 97cb7415..0b84a542 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -707,6 +707,8 @@ void sync_fuzzers(afl_state_t *afl) {
if (afl->foreign_sync_cnt) read_foreign_testcases(afl, 0);
+ afl->last_sync_time = get_cur_time();
+
}
/* Trim all new test cases to save cycles when doing deterministic checks. The
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 9137dc23..f83aac9e 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1986,15 +1986,24 @@ int main(int argc, char **argv_orig, char **envp) {
if (unlikely(afl->is_main_node)) {
- if (!(sync_interval_cnt++ % (SYNC_INTERVAL / 3))) {
+ if (unlikely(get_cur_time() >
+ (SYNC_TIME >> 1) + afl->last_sync_time)) {
- sync_fuzzers(afl);
+ if (!(sync_interval_cnt++ % (SYNC_INTERVAL / 3))) {
+
+ sync_fuzzers(afl);
+
+ }
}
} else {
- if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+ if (unlikely(get_cur_time() > SYNC_TIME + afl->last_sync_time)) {
+
+ if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+
+ }
}