Fix an issue when writing uleb128 values larger than 2^31

This commit is contained in:
Ben Gruver 2017-10-02 18:56:16 -07:00
parent b84345935a
commit 20a272dbb9

View File

@ -127,7 +127,7 @@ public class DexDataWriter extends BufferedOutputStream {
} }
public static void writeUleb128(OutputStream out, int value) throws IOException { public static void writeUleb128(OutputStream out, int value) throws IOException {
while (value > 0x7f) { while ((value & 0xffffffffL) > 0x7f) {
out.write((value & 0x7f) | 0x80); out.write((value & 0x7f) | 0x80);
value >>>= 7; value >>>= 7;
} }