about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2023-12-11 11:54:30 +0100
committerAndrea Fioraldi <andreafioraldi@gmail.com>2023-12-11 11:54:30 +0100
commitab532e7c151edaa1b563702dc26daabed09da157 (patch)
tree5452fe85f177b488f37daee1e179a8d780b3cb90
parentb2d118f821b9a98b64a955b6dce5785646a8f19e (diff)
downloadafl++-ab532e7c151edaa1b563702dc26daabed09da157.tar.gz
Fix #1927
-rw-r--r--instrumentation/afl-llvm-common.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/instrumentation/afl-llvm-common.cc b/instrumentation/afl-llvm-common.cc
index 7f17b02d..96952bd6 100644
--- a/instrumentation/afl-llvm-common.cc
+++ b/instrumentation/afl-llvm-common.cc
@@ -97,11 +97,15 @@ bool isIgnoreFunction(const llvm::Function *F) {
 
   static constexpr const char *ignoreSubstringList[] = {
 
-      "__asan", "__msan",       "__ubsan",    "__lsan",  "__san", "__sanitize",
-      "__cxx",  "DebugCounter", "DwarfDebug", "DebugLoc"
+      "__asan",     "__msan",       "__ubsan",    "__lsan",  "__san",
+      "__sanitize", "DebugCounter", "DwarfDebug", "DebugLoc"
 
   };
 
+  // This check is very sensitive, we must be sure to not include patterns
+  // that are part of user-written C++ functions like the ones including
+  // std::string as parameter (see #1927) as the mangled type is inserted in the
+  // mangled name of the user-written function
   for (auto const &ignoreListFunc : ignoreSubstringList) {
 
     // hexcoder: F->getName().contains() not avaiilable in llvm 3.8.0