From 20a272dbb9d6383e04f3fbb5e444e44fbe657cc1 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Mon, 2 Oct 2017 18:56:16 -0700 Subject: [PATCH] Fix an issue when writing uleb128 values larger than 2^31 --- dexlib2/src/main/java/org/jf/dexlib2/writer/DexDataWriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexDataWriter.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexDataWriter.java index 0102b755..f33a3be2 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexDataWriter.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexDataWriter.java @@ -127,7 +127,7 @@ public class DexDataWriter extends BufferedOutputStream { } public static void writeUleb128(OutputStream out, int value) throws IOException { - while (value > 0x7f) { + while ((value & 0xffffffffL) > 0x7f) { out.write((value & 0x7f) | 0x80); value >>>= 7; }