Storyyeller / Krakatau

Java decompiler, assembler, and disassembler
GNU General Public License v3.0
1.97k stars 220 forks source link

Unexpected behaviour on checkcast #105

Open samczsun opened 7 years ago

samczsun commented 7 years ago

It seems with the JVM, a checkcast on a null object instantly succeeds, and bypasses any class loading. This means that a simple

aconst_null
checkcast nonexistantclassname

will cause Krakatau to fail the decompilation of the method.

Even while running with -Xverify:all, the JVM does not seem to care about the nonexistent class.

Storyyeller commented 7 years ago

I looked into this, but unfortunately, I think it will take a fair bit of work to fix.