[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ArrayOutOfBound Exception when decompiling some class files



I'm now trying to fix the problem but currently still have not succeeded.
Does anybody tell me any pointer about the usage of bpreds, bsuccs,
cpreds and csuccs of
AugmentedStmt ?

Haruyuki Kawabe
Haruyuki.Kawabe@unisys.co.jp

Haruyuki Kawabe wrote:

>When decompiling some class files using soot 2.0.1, following exception
>is thrown:
>Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
>at
>soot.jimple.internal.JTableSwitchStmt.setTarget(JTableSwitchStmt.java:249)
>at
>soot.dava.toolkits.base.finders.CycleFinder.fix_MultiEntryPoint(CycleFinder.java:427)
>at soot.dava.toolkits.base.finders.CycleFinder.find(CycleFinder.java:74)
>at soot.dava.DavaBody.<init>(DavaBody.java:163)
>at soot.dava.Dava.newBody(Dava.java:68)
>at soot.PackManager.runBodyPacks(PackManager.java:446)
>at soot.PackManager.runBodyPacks(PackManager.java:282)
>at soot.PackManager.runPacks(PackManager.java:241)
>at soot.Main.run(Main.java:172)
>at soot.Main.main(Main.java:152)
>
>It is casued by reference of element of a 0-length array, targetBoxes
>field of class
>JTableSwitchStmt, with index 0.
>This field is initialized in the constructor of JTableSwitchStmt using
>its argument 'target.'
>It seems to me that the value of the argument is always size 0 because
>it is newly created just before calling the consturctor of GTableSwitchStmt.
>(see file:CycleFinder.java line:407)
>I'm not sure how to fix this problem, so I would be very grateful if
>anyone let me know how to fix it.
>
>Haruyuki Kawabe
>Haruyuki.Kawabe@unisys.co.jp
>
>
>
>  
>