about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-04-09 11:19:40 +0200
committervanhauser-thc <vh@thc.org>2021-04-09 11:19:48 +0200
commit019b26de58a4e7eb4b95aab6425beba4efb853f4 (patch)
treeddf5a2b48ad4ff4230ca81a5a6ea10b7afac4190
parent43ca2d31132bb4dea131ac52ee268222a3b6f6e4 (diff)
downloadafl++-019b26de58a4e7eb4b95aab6425beba4efb853f4.tar.gz
fix afl_custom_queue_new_entry when syncing
-rw-r--r--docs/Changelog.md3
-rw-r--r--instrumentation/afl-llvm-lto-instrumentation.so.cc2
-rw-r--r--src/afl-fuzz-queue.c6
3 files changed, 9 insertions, 2 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 24877f9a..072320dc 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -21,9 +21,12 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
       AFL_PERSISTENT_RECORD in config.h and docs/envs.h
     - default cmplog level (-l) is now 2, better efficiency.
     - ensure one fuzzer sync per cycle
+    - fix afl_custom_queue_new_entry original file name when syncing
+      from fuzzers
   - afl-cc:
     - Leak Sanitizer support (AFL_USE_LSAN) added by Joshua Rogers, thanks!
     - Removed InsTrim instrumentation as it is not as good as PCGUARD
+    - Removed automatic linking with -lc++ for LTO mode
 
 ### Version ++3.12c (release)
   - afl-fuzz:
diff --git a/instrumentation/afl-llvm-lto-instrumentation.so.cc b/instrumentation/afl-llvm-lto-instrumentation.so.cc
index 6eb19060..f6cdbe9e 100644
--- a/instrumentation/afl-llvm-lto-instrumentation.so.cc
+++ b/instrumentation/afl-llvm-lto-instrumentation.so.cc
@@ -92,7 +92,7 @@ class AFLLTOPass : public ModulePass {
   uint32_t afl_global_id = 1, autodictionary = 1;
   uint32_t function_minimum_size = 1;
   uint32_t inst_blocks = 0, inst_funcs = 0, total_instr = 0;
-  uint64_t map_addr = 0x10000;
+  unsigned long long int map_addr = 0x10000;
   char *   skip_nozero = NULL;
 
 };
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c
index e5f51a6c..811e805c 100644
--- a/src/afl-fuzz-queue.c
+++ b/src/afl-fuzz-queue.c
@@ -478,7 +478,11 @@ void add_to_queue(afl_state_t *afl, u8 *fname, u32 len, u8 passed_det) {
         u8 *fname_orig = NULL;
 
         /* At the initialization stage, queue_cur is NULL */
-        if (afl->queue_cur) fname_orig = afl->queue_cur->fname;
+        if (afl->queue_cur && !afl->syncing_party) {
+
+          fname_orig = afl->queue_cur->fname;
+
+        }
 
         el->afl_custom_queue_new_entry(el->data, fname, fname_orig);