about summary refs log tree commit diff
path: root/instrumentation/afl-llvm-common.cc
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2023-12-28 22:08:05 +0100
committerhexcoder- <heiko@hexco.de>2023-12-28 22:08:05 +0100
commit25f9c1f4fb5c099ffc9cc93f7988f4fc4af9ab03 (patch)
treecaf02baa0ee84f63215000bd564d86cd79ec73bd /instrumentation/afl-llvm-common.cc
parent934a02f7f638d5a0505afc1bd46b4d1a827b4689 (diff)
parentb01ef97569060bb9f7451d1c2c301b5e774b8358 (diff)
downloadafl++-25f9c1f4fb5c099ffc9cc93f7988f4fc4af9ab03.tar.gz
Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into dev
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