diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java index 424f0b7d..d6474165 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java @@ -218,11 +218,11 @@ public class MethodDefinition { if (opcode == Opcode.PACKED_SWITCH) { Instruction31t ins = (Instruction31t)opcode.format.Factory.makeInstruction( methodIdItem.getDexFile(), opcode, encodedInstructions, index); - packedSwitchMap.put(ins.getOffset(), index/2); + packedSwitchMap.put(index/2 + ins.getOffset(), index/2); } else if (opcode == Opcode.SPARSE_SWITCH) { Instruction31t ins = (Instruction31t)opcode.format.Factory.makeInstruction( methodIdItem.getDexFile(), opcode, encodedInstructions, index); - sparseSwitchMap.put(ins.getOffset(), index/2); + sparseSwitchMap.put(index/2 + ins.getOffset(), index/2); } }