joernio / joern

Open-source code analysis platform for C/C++/Java/Binary/Javascript/Python/Kotlin based on code property graphs. Discord https://discord.gg/vv4MH284Hc
https://joern.io/
Apache License 2.0
1.97k stars 269 forks source link

[Bug] jimple2cpg failure #3724

Open tyousyuka opened 11 months ago

tyousyuka commented 11 months ago

apk: http://file-share.ulthon.com/index/share/65239797727e9 pwd: e2306f

used command: /home/App-Sec/joern-cli/jimple2cpg -J-Xmx30688m /home/App-Sec/jar/fill.up.the.frigde.organization.games.verName1.101.verCode1101.jar --output /home/App-Sec/bin/fill.up.the.frigde.organization.games.verName1.101.verCode1101.bin

error: java.lang.StackOverflowError at java.base/java.lang.StringBuilder.(StringBuilder.java:131) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:76) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173) at soot.jimple.internal.JTableSwitchStmt.toString(JTableSwitchStmt.java:87) at java.base/java.lang.String.valueOf(String.java:4220) at java.base/java.lang.StringBuilder.append(StringBuilder.java:173)

DavidBakerEffendi commented 11 months ago

The bug seems to be internal to Soot, but I will add something to catch this error and emit an Unknown node if it happens.