From 5f758b60b4878b34e20864915e85be71259e7b19 Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Thu, 24 Dec 2009 08:08:14 +0000 Subject: [PATCH] fix an issue that occurs when a switch statement is the first instruction in a method git-svn-id: https://smali.googlecode.com/svn/trunk@520 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- dexlib/src/main/java/org/jf/dexlib/CodeItem.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexlib/src/main/java/org/jf/dexlib/CodeItem.java b/dexlib/src/main/java/org/jf/dexlib/CodeItem.java index 5306df13..7a4d98dc 100644 --- a/dexlib/src/main/java/org/jf/dexlib/CodeItem.java +++ b/dexlib/src/main/java/org/jf/dexlib/CodeItem.java @@ -547,8 +547,8 @@ public class CodeItem extends Item { assert originalOffsetsByNewOffset.indexOfKey(currentCodeOffset) >= 0; int originalDataOffset = originalOffsetsByNewOffset.get(currentCodeOffset); - int originalSwitchOffset = originalSwitchOffsetByOriginalSwitchDataOffset.get(originalDataOffset); - if (originalSwitchOffset == 0) { + int originalSwitchOffset = originalSwitchOffsetByOriginalSwitchDataOffset.get(originalDataOffset, -1); + if (originalSwitchOffset == -1) { throw new RuntimeException("This method contains an unreferenced switch data block, and can't be automatically fixed."); }