commit | 51b326d5a6a88f4efc0e7c239d41af749c35a628 | [log] [tgz] |
---|---|---|
author | JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> | Mon May 18 01:21:00 2009 +0000 |
committer | JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> | Mon May 18 01:21:00 2009 +0000 |
tree | 1cc7ca6f073844c294b2c2f4e678016621416345 | |
parent | 74a8772861243281309c39964307acd5c66f39ac [diff] |
Fixed a bug in the logic to read in an EncodedValue git-svn-id: https://smali.googlecode.com/svn/trunk@43 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
diff --git a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java index c3a32a5..cec9b98 100644 --- a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java +++ b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedIndexedItemReference.java
@@ -69,7 +69,7 @@ public void readFrom(Input in) { setReference(((IndexedSection<T>)getSection()).getByIndex( - (int)EncodedValueUtils.decodeUnsignedIntegralValue(in.readBytes(initialValueArg)))); + (int)EncodedValueUtils.decodeUnsignedIntegralValue(in.readBytes(initialValueArg + 1)))); } public int place(int offset) {
diff --git a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java index 14d1e77..967de9f 100644 --- a/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java +++ b/src/main/java/org/JesusFreke/dexlib/EncodedValue/EncodedValue.java
@@ -108,6 +108,7 @@ public void readFrom(Input in) { subField = EncodedValueSubFieldFactory.makeEncodedValueField(dexFile, getValueType()); + subField.setInitialValueArg(getValueArg()); subField.readFrom(in); }