From b2ae115dd50a1062bf3704e41ac95bc231e54296 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Fri, 28 Dec 2012 20:10:43 -0800 Subject: [PATCH] Fix how reference index is written in format 35c and 3rc --- dexlib2/src/main/java/org/jf/dexlib2/writer/CodeItemPool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/CodeItemPool.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/CodeItemPool.java index 1a2bb8eb..a9fe4075 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/CodeItemPool.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/CodeItemPool.java @@ -479,7 +479,7 @@ public class CodeItemPool { public void writeFormat35c(@Nonnull DexWriter writer, @Nonnull Instruction35c instruction) throws IOException { writer.write(instruction.getOpcode().value); writer.write(packNibbles(instruction.getRegisterG(), instruction.getRegisterCount())); - writer.write(getReferenceIndex(instruction)); + writer.writeUshort(getReferenceIndex(instruction)); writer.write(packNibbles(instruction.getRegisterC(), instruction.getRegisterD())); writer.write(packNibbles(instruction.getRegisterE(), instruction.getRegisterF())); } @@ -487,7 +487,7 @@ public class CodeItemPool { public void writeFormat3rc(@Nonnull DexWriter writer, @Nonnull Instruction3rc instruction) throws IOException { writer.write(instruction.getOpcode().value); writer.write(instruction.getRegisterCount()); - writer.write(getReferenceIndex(instruction)); + writer.writeUshort(getReferenceIndex(instruction)); writer.writeUshort(instruction.getStartRegister()); }