diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2023-12-11 11:54:30 +0100 |
---|---|---|
committer | Andrea Fioraldi <andreafioraldi@gmail.com> | 2023-12-11 11:54:30 +0100 |
commit | ab532e7c151edaa1b563702dc26daabed09da157 (patch) | |
tree | 5452fe85f177b488f37daee1e179a8d780b3cb90 | |
parent | b2d118f821b9a98b64a955b6dce5785646a8f19e (diff) | |
download | afl++-ab532e7c151edaa1b563702dc26daabed09da157.tar.gz |
Fix #1927
-rw-r--r-- | instrumentation/afl-llvm-common.cc | 8 |
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 |