diff options
author | Fabian Meumertzheim <meumertzheim@code-intelligence.com> | 2021-10-19 11:31:01 +0200 |
---|---|---|
committer | Khaled Yakdan <yakdan@code-intelligence.de> | 2021-10-19 13:01:15 +0200 |
commit | 14b4ca48dca36f76f4a8cbc55e893df6308d9bb8 (patch) | |
tree | f1a44f794b5b9dcb82edf2466c7b23831d63e37d /agent | |
parent | c3b6a1a2e62e0f9943e1dc8e03492a532a1b4770 (diff) | |
download | jazzer-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.java | 5 |
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()); |