Menu

#63 ArrayIndexOutOfBoundsException

closed-fixed
None
9
2004-11-21
2004-09-22
Kai
No

I can obfuscate my application with ProGuard 2.1. When
I try ProGuard 3.0.7, I get the following trace:

[wtkpackage] java.lang.ArrayIndexOutOfBoundsException: 2811
[wtkpackage] at
proguard.classfile.editor.CodeAttrInfoEditor.isModified(CodeAttrInfoEditor.java:187)
[wtkpackage] at
proguard.optimize.peephole.LoadStoreRemover.visitVariableInstruction(LoadStoreRemover.java:74)
[wtkpackage] at
proguard.classfile.instruction.MultiInstructionVisitor.visitVariableInstruction(MultiInstructionVisitor.java:102)
[wtkpackage] at
proguard.classfile.instruction.VariableInstruction.accept(VariableInstruction.java:168)
[wtkpackage] at
proguard.classfile.CodeAttrInfo.instructionsAccept(CodeAttrInfo.java:149)
[wtkpackage] at
proguard.classfile.instruction.AllInstructionVisitor.visitCodeAttrInfo(AllInstructionVisitor.java:60)
[wtkpackage] at
proguard.classfile.visitor.MultiAttrInfoVisitor.visitCodeAttrInfo(MultiAttrInfoVisitor.java:117)
[wtkpackage] at
proguard.classfile.CodeAttrInfo.accept(CodeAttrInfo.java:133)
[wtkpackage] at
proguard.classfile.ProgramMethodInfo.attributesAccept(ProgramMethodInfo.java:66)
[wtkpackage] at
proguard.classfile.visitor.AllAttrInfoVisitor.visitProgramMethodInfo(AllAttrInfoVisitor.java:53)
[wtkpackage] at
proguard.classfile.ProgramMethodInfo.accept(ProgramMethodInfo.java:58)
[wtkpackage] at
proguard.classfile.ProgramClassFile.methodsAccept(ProgramClassFile.java:504)
[wtkpackage] at
proguard.classfile.visitor.AllMethodVisitor.visitProgramClassFile(AllMethodVisitor.java:47)
[wtkpackage] at
proguard.classfile.ProgramClassFile.accept(ProgramClassFile.java:401)
[wtkpackage] at
proguard.classfile.ClassPool.classFilesAccept(ClassPool.java:118)
[wtkpackage] at
proguard.ProGuard.optimize(ProGuard.java:550)
[wtkpackage] at proguard.ProGuard.execute(ProGuard.java:90)
[wtkpackage] at proguard.ProGuard.main(ProGuard.java:888)

Discussion

  • Kai

    Kai - 2004-09-22
    • priority: 5 --> 9
     
  • Eric Lafortune

    Eric Lafortune - 2004-10-02
    • assigned_to: nobody --> lafortune
     
  • Eric Lafortune

    Eric Lafortune - 2004-10-02

    Logged In: YES
    user_id=555208

    Thank you for your report. Without your code, I can't be
    absolutely sure, but extending the if-test on line 67 in
    proguard/optimize/peephole/LoadStoreRemover.java should fix
    this bug:

    if (variableInstruction.isLoad() &&
    variableInstruction.opcode !=
    InstructionConstants.OP_RET)

    Please let us know if you get the chance to try it out.

     
  • Eric Lafortune

    Eric Lafortune - 2004-11-21
    • status: open --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB