aboutsummaryrefslogtreecommitdiff
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