aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorFabian Meumertzheim <meumertzheim@code-intelligence.com>2021-10-19 11:31:01 +0200
committerKhaled Yakdan <yakdan@code-intelligence.de>2021-10-19 13:01:15 +0200
commit14b4ca48dca36f76f4a8cbc55e893df6308d9bb8 (patch)
treef1a44f794b5b9dcb82edf2466c7b23831d63e37d /agent
parentc3b6a1a2e62e0f9943e1dc8e03492a532a1b4770 (diff)
downloadjazzer-api-14b4ca48dca36f76f4a8cbc55e893df6308d9bb8.tar.gz
Replace isAssignableFrom checks with explicit classes
Otherwise, we would e.g. only return string when a Serializable is requested.
Diffstat (limited to 'agent')
-rw-r--r--agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java
index 92880832..943b9acd 100644
--- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java
+++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java
@@ -20,6 +20,7 @@ import io.github.classgraph.ClassGraph;
import io.github.classgraph.ClassInfoList;
import io.github.classgraph.ScanResult;
import java.io.ByteArrayInputStream;
+import java.io.InputStream;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Executable;
@@ -117,7 +118,7 @@ public class Meta {
if (!type.isPrimitive() && data.consumeByte((byte) 0, (byte) 19) == 0) {
return null;
}
- if (type.isAssignableFrom(String.class)) {
+ if (type == String.class || type == CharSequence.class) {
return data.consumeString(data.remainingBytes() / 2);
} else if (type.isArray()) {
if (type == byte[].class) {
@@ -137,7 +138,7 @@ public class Meta {
}
return array;
}
- } else if (type.isAssignableFrom(ByteArrayInputStream.class)) {
+ } else if (type == ByteArrayInputStream.class || type == InputStream.class) {
return new ByteArrayInputStream(data.consumeBytes(data.remainingBytes() / 2));
} else if (type.isEnum()) {
return data.pickValue(type.getEnumConstants());