about summary refs log tree commit diff
path: root/instrumentation/afl-llvm-common.cc
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2023-12-15 09:29:11 +0100
committerGitHub <noreply@github.com>2023-12-15 09:29:11 +0100
commit108fb0b29ad1586e668ba23e23a0eb1a13c45c49 (patch)
tree28a5f5091317e9cb7d9151e53f33c7b56cec552b /instrumentation/afl-llvm-common.cc
parentef706ad668b36e65d24f352f5bcee22957f5f1cc (diff)
parent8a7705aedbb759dd8ff331d47a99cc6bbc17902b (diff)
downloadafl++-108fb0b29ad1586e668ba23e23a0eb1a13c45c49.tar.gz
Merge pull request #1933 from AFLplusplus/dev v4.09c
push to stable
Diffstat (limited to 'instrumentation/afl-llvm-common.cc')
-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