diff options
author | Wojtek KaliciĆski <wkal@google.com> | 2017-09-13 11:45:38 +0100 |
---|---|---|
committer | Ben Gruver <jesusfreke@jesusfreke.com> | 2018-06-13 14:12:40 -0700 |
commit | f16b420b701ac0e423cd044d61602cc890d7ee46 (patch) | |
tree | dacb4015937762c089916512e4ec4a3d38a1c34b /dexlib2/src | |
parent | 67e7b39dfc5965363fdaa7c2dfc8dff4d6eb739c (diff) | |
download | smali-f16b420b701ac0e423cd044d61602cc890d7ee46.tar.gz |
Fix for method reference sizes
The protos can be shared across methods so we should not be counting
them as part of private method size.
Diffstat (limited to 'dexlib2/src')
-rw-r--r-- | dexlib2/src/main/java/org/jf/dexlib2/dexbacked/reference/DexBackedMethodReference.java | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/reference/DexBackedMethodReference.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/reference/DexBackedMethodReference.java index f2b0b597..bee08f8c 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/reference/DexBackedMethodReference.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/reference/DexBackedMethodReference.java @@ -102,15 +102,11 @@ public class DexBackedMethodReference extends BaseMethodReference { /** * Calculate and return the private size of a method reference. * - * Calculated as: class_idx + proto_idx + name_idx + prototype size + * Calculated as: class_idx + proto_idx + name_idx * * @return size in bytes */ public int getSize() { - int size = MethodIdItem.ITEM_SIZE; //ushort + ushort + uint for indices - DexBackedMethodProtoReference protoRef = new DexBackedMethodProtoReference(dexFile, - dexFile.readUshort(methodIdItemOffset + MethodIdItem.PROTO_OFFSET)); - size += protoRef.getSize(); - return size; + return MethodIdItem.ITEM_SIZE; //ushort + ushort + uint for indices } } |