aboutsummaryrefslogtreecommitdiff
path: root/agent/src
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2021-10-19 08:54:31 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-10-19 11:07:51 +0200
commit387398baff2e3f37b2fa25a5f3c85a0c9b925e9e (patch)
tree6eebc2a2f938eeef927f46886a5000d1626f440f /agent/src
parentfab033324a64a4e02e638cc6c7b243fba1846f61 (diff)
downloadjazzer-api-387398baff2e3f37b2fa25a5f3c85a0c9b925e9e.tar.gz
Prevent early libFuzzer exits by replaying initial coverage for two runs
Diffstat (limited to 'agent/src')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt8
1 files changed, 8 insertions, 0 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
index 2928e2a1..d1906c82 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
+++ b/agent/src/main/java/com/code_intelligence/jazzer/instrumentor/CoverageRecorder.kt
@@ -62,6 +62,14 @@ object CoverageRecorder {
}
@JvmStatic
+ fun replayCoveredIds() {
+ val mem = CoverageMap.mem
+ for (coverageId in additionalCoverage) {
+ mem.put(coverageId, 1)
+ }
+ }
+
+ @JvmStatic
fun computeFileCoverage(coveredIds: IntArray): String {
val coverage = analyzeCoverage(coveredIds.toSet()) ?: return "No classes were instrumented"
return coverage.sourceFiles.joinToString(