diff options
Diffstat (limited to 'agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt')
-rw-r--r-- | agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt b/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt index b803630e..f286d03f 100644 --- a/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt +++ b/agent/src/test/java/com/code_intelligence/jazzer/instrumentor/PatchTestUtils.kt @@ -15,7 +15,12 @@ package com.code_intelligence.jazzer.instrumentor fun classToBytecode(targetClass: Class<*>): ByteArray { - return ClassLoader.getSystemClassLoader().getResourceAsStream("${targetClass.name.replace('.', '/')}.class")!!.readAllBytes() + return ClassLoader + .getSystemClassLoader() + .getResourceAsStream("${targetClass.name.replace('.', '/')}.class")!! + .use { + it.readBytes() + } } fun bytecodeToClass(name: String, bytecode: ByteArray): Class<*> { @@ -26,7 +31,8 @@ fun bytecodeToClass(name: String, bytecode: ByteArray): Class<*> { * A ClassLoader that dynamically loads a single specified class from byte code and delegates all other class loads to * its own ClassLoader. */ -class BytecodeClassLoader(val className: String, private val classBytecode: ByteArray) : ClassLoader(BytecodeClassLoader::class.java.classLoader) { +class BytecodeClassLoader(val className: String, private val classBytecode: ByteArray) : + ClassLoader(BytecodeClassLoader::class.java.classLoader) { override fun loadClass(name: String): Class<*> { if (name != className) return super.loadClass(name) |