aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorFabian Meumertzheim <fabian@meumertzhe.im>2021-10-29 15:13:19 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2021-11-18 11:13:53 +0100
commitda956b75955060616bde0a8e1fc3ba9b1620aa05 (patch)
treec77b2f0dd31e73ca3af0beacff7726e22b3d38fe /agent
parent70e9992f37217426952ff48c952bc95e8fc56e34 (diff)
downloadjazzer-api-da956b75955060616bde0a8e1fc3ba9b1620aa05.tar.gz
Print generated code when JAZZER_AUTOFUZZ_DEBUG is set
Diffstat (limited to 'agent')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java
index 75f2b327..8c344621 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java
+++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java
@@ -40,6 +40,7 @@ public class FuzzTarget {
private static Map<Executable, Class<?>[]> throwsDeclarations;
private static Set<SimpleGlobMatcher> ignoredExceptionMatchers;
private static long executionsSinceLastInvocation = 0;
+ private static AutofuzzCodegenVisitor codegenVisitor;
public static void fuzzerInitialize(String[] args) {
if (args.length == 0 || !args[0].contains("::")) {
@@ -178,6 +179,9 @@ public class FuzzTarget {
}
public static void fuzzerTestOneInput(FuzzedDataProvider data) throws Throwable {
+ if (Meta.isDebug()) {
+ codegenVisitor = new AutofuzzCodegenVisitor();
+ }
Executable targetExecutable;
if (FuzzTarget.targetExecutables.length == 1) {
targetExecutable = FuzzTarget.targetExecutables[0];
@@ -187,11 +191,14 @@ public class FuzzTarget {
Object returnValue = null;
try {
if (targetExecutable instanceof Method) {
- returnValue = Meta.autofuzz(data, (Method) targetExecutable, null);
+ returnValue = Meta.autofuzz(data, (Method) targetExecutable, codegenVisitor);
} else {
- returnValue = Meta.autofuzz(data, (Constructor<?>) targetExecutable, null);
+ returnValue = Meta.autofuzz(data, (Constructor<?>) targetExecutable, codegenVisitor);
}
executionsSinceLastInvocation = 0;
+ if (codegenVisitor != null) {
+ System.err.println(codegenVisitor.generate());
+ }
} catch (AutofuzzConstructionException e) {
if (Meta.isDebug()) {
e.printStackTrace();