about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-01-14 21:26:46 +0100
committervan Hauser <vh@thc.org>2021-01-14 21:26:46 +0100
commit7ba17d182f7010c616fe9ecf4ba291cd772f52bc (patch)
tree01293ad9798cdb6495a3d8faad75e33d6eed8286 /src/afl-fuzz.c
parentc42875ddea1e5cb8da9a292b0fba19d0c69b09e5 (diff)
downloadafl++-7ba17d182f7010c616fe9ecf4ba291cd772f52bc.tar.gz
more sync in deterministic mode
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 6a2b28cf..bb2674f0 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1781,15 +1781,27 @@ int main(int argc, char **argv_orig, char **envp) {
 
     } while (skipped_fuzz && afl->queue_cur && !afl->stop_soon);
 
-    if (!afl->stop_soon && afl->sync_id) {
+    if (likely(!afl->stop_soon && afl->sync_id)) {
 
-      if (unlikely(afl->is_main_node)) {
+      if (likely(afl->skip_deterministic)) {
 
-        if (!(sync_interval_cnt++ % (SYNC_INTERVAL / 3))) { sync_fuzzers(afl); }
+        if (unlikely(afl->is_main_node)) {
+
+          if (!(sync_interval_cnt++ % (SYNC_INTERVAL / 3))) {
+
+            sync_fuzzers(afl);
+
+          }
+
+        } else {
+
+          if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+
+        }
 
       } else {
 
-        if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+        sync_fuzzers(afl);
 
       }