about summary refs log tree commit diff
path: root/llvm_mode/afl-llvm-pass.so.cc
diff options
context:
space:
mode:
Diffstat (limited to 'llvm_mode/afl-llvm-pass.so.cc')
-rw-r--r--llvm_mode/afl-llvm-pass.so.cc35
1 files changed, 27 insertions, 8 deletions
diff --git a/llvm_mode/afl-llvm-pass.so.cc b/llvm_mode/afl-llvm-pass.so.cc
index 2cd23adf..7d5cb224 100644
--- a/llvm_mode/afl-llvm-pass.so.cc
+++ b/llvm_mode/afl-llvm-pass.so.cc
@@ -467,14 +467,33 @@ bool AFLCoverage::runOnModule(Module &M) {
 
     if (!inst_blocks)
       WARNF("No instrumentation targets found.");
-    else
-      OKF("Instrumented %u locations (%s mode, ratio %u%%).", inst_blocks,
-          getenv("AFL_HARDEN")
-              ? "hardened"
-              : ((getenv("AFL_USE_ASAN") || getenv("AFL_USE_MSAN"))
-                     ? "ASAN/MSAN"
-                     : "non-hardened"),
-          inst_ratio);
+    else {
+      char mode[64];
+      int not_hardened = 1;
+      if (getenv("AFL_HARDEN")) {
+        strcat(mode, "/hardened");
+        not_hardened = 0;
+      }      
+      if (getenv("AFL_USE_ASAN")) {
+        strcat(mode, "/ASAN");
+        not_hardened = 0;
+      }
+      if (getenv("AFL_USE_MSAN")) {
+        strcat(mode, "/MSAN");
+        not_hardened = 0;
+      }
+      if (getenv("AFL_USE_UBSAN")) {
+        strcat(mode, "/UNSAN");
+        not_hardened = 0;
+      }
+      
+      if (not_hardened)
+        OKF("Instrumented %u locations (non-hardened mode, ratio %u%%).",
+            inst_blocks, inst_ratio);
+      else
+        OKF("Instrumented %u locations (%s mode, ratio %u%%).", inst_blocks,
+            &mode[1], inst_ratio);
+    }
 
   }