diff options
Diffstat (limited to 'src/main/java/com/code_intelligence/jazzer/agent/Agent.kt')
-rw-r--r-- | src/main/java/com/code_intelligence/jazzer/agent/Agent.kt | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt b/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt index aed8821f..8788aa23 100644 --- a/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt +++ b/src/main/java/com/code_intelligence/jazzer/agent/Agent.kt @@ -44,6 +44,7 @@ fun installInternal( trace: List<String> = Opt.trace, idSyncFile: String? = Opt.idSyncFile, dumpClassesDir: String = Opt.dumpClassesDir, + additionalClassesExcludes: List<String> = Opt.additionalClassesExcludes, ) { val allCustomHookNames = (Constants.SANITIZER_HOOK_NAMES + userHookNames).toSet() check(allCustomHookNames.isNotEmpty()) { "No hooks registered; expected at least the built-in hooks" } @@ -77,6 +78,7 @@ fun installInternal( } } }.toSet() + val idSyncFilePath = idSyncFile?.takeUnless { it.isEmpty() }?.let { Paths.get(it).also { path -> Log.info("Synchronizing coverage IDs in ${path.toAbsolutePath()}") @@ -113,7 +115,7 @@ fun installInternal( // not be considered when resolving references to hook methods, leading to NoClassDefFoundError // being thrown. Hooks.appendHooksToBootstrapClassLoaderSearch(instrumentation, customHookNames.toSet()) - val (includedHooks, customHooks) = Hooks.loadHooks(includedHookNames.toSet(), customHookNames.toSet()) + val (includedHooks, customHooks) = Hooks.loadHooks(additionalClassesExcludes, includedHookNames.toSet(), customHookNames.toSet()) val runtimeInstrumentor = RuntimeInstrumentor( instrumentation, |