aboutsummaryrefslogtreecommitdiff
path: root/instrumentation/SanitizerCoveragePCGUARD.so.cc
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2024-05-17 23:55:55 +0200
committerGitHub <noreply@github.com>2024-05-17 23:55:55 +0200
commite7d871c8bf64962a658e447b90a1a3b43aaddc28 (patch)
tree7aec2a095a30ed609ce96f85ec3c4e0a8b8eb74c /instrumentation/SanitizerCoveragePCGUARD.so.cc
parent497f341eac230fab13d6b5c5153c36321371b180 (diff)
parent56d5aa3101945e81519a3fac8783d0d8fad82779 (diff)
downloadAFLplusplus-e7d871c8bf64962a658e447b90a1a3b43aaddc28.tar.gz
Merge pull request #2093 from AFLplusplus/dev
push to stable
Diffstat (limited to 'instrumentation/SanitizerCoveragePCGUARD.so.cc')
-rw-r--r--instrumentation/SanitizerCoveragePCGUARD.so.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/instrumentation/SanitizerCoveragePCGUARD.so.cc b/instrumentation/SanitizerCoveragePCGUARD.so.cc
index f88ce126..01881f28 100644
--- a/instrumentation/SanitizerCoveragePCGUARD.so.cc
+++ b/instrumentation/SanitizerCoveragePCGUARD.so.cc
@@ -195,7 +195,7 @@ class ModuleSanitizerCoverageAFL
SanitizerCoverageOptions Options;
- uint32_t instr = 0, selects = 0, unhandled = 0;
+ uint32_t instr = 0, selects = 0, unhandled = 0, dump_cc = 0;
GlobalVariable *AFLMapPtr = NULL;
ConstantInt *One = NULL;
ConstantInt *Zero = NULL;
@@ -330,6 +330,8 @@ bool ModuleSanitizerCoverageAFL::instrumentModule(
if (getenv("AFL_DEBUG")) { debug = 1; }
+ if (getenv("AFL_DUMP_CYCLOMATIC_COMPLEXITY")) { dump_cc = 1; }
+
if ((isatty(2) && !getenv("AFL_QUIET")) || debug) {
SAYF(cCYA "SanitizerCoveragePCGUARD" VERSION cRST "\n");
@@ -638,6 +640,8 @@ void ModuleSanitizerCoverageAFL::instrumentFunction(
// InjectTraceForCmp(F, CmpTraceTargets);
// InjectTraceForSwitch(F, SwitchTraceTargets);
+ if (dump_cc) { calcCyclomaticComplexity(&F); }
+
}
GlobalVariable *ModuleSanitizerCoverageAFL::CreateFunctionLocalArrayInSection(