From e88cdf2010ec118bdd0ae54b58722981bbdd7477 Mon Sep 17 00:00:00 2001 From: "JesusFreke@JesusFreke.com" Date: Wed, 26 Aug 2009 03:08:55 +0000 Subject: [PATCH] If the ArrayData pseudo instruction has an odd size, write out a final padding byte git-svn-id: https://smali.googlecode.com/svn/trunk@422 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- .../org/jf/dexlib/Code/Format/ArrayDataPseudoInstruction.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dexlib/src/main/java/org/jf/dexlib/Code/Format/ArrayDataPseudoInstruction.java b/dexlib/src/main/java/org/jf/dexlib/Code/Format/ArrayDataPseudoInstruction.java index f26f0aa7..84e45405 100644 --- a/dexlib/src/main/java/org/jf/dexlib/Code/Format/ArrayDataPseudoInstruction.java +++ b/dexlib/src/main/java/org/jf/dexlib/Code/Format/ArrayDataPseudoInstruction.java @@ -62,6 +62,10 @@ public class ArrayDataPseudoInstruction extends Instruction { out.writeShort(elementWidth); out.writeInt(elementCount); out.write(encodedValues); + if ((encodedValues.length % 2) != 0) { + //must write out an even number of bytes + out.writeByte(0); + } } public ArrayDataPseudoInstruction(byte[] buffer, int bufferIndex) {