diff options
author | Lanchon <lanchon@gmail.com> | 2017-09-24 19:35:57 -0300 |
---|---|---|
committer | Ben Gruver <jesusfreke@jesusfreke.com> | 2018-06-13 14:11:46 -0700 |
commit | ea7c265d125c3037a09388280b00d3973e56f10f (patch) | |
tree | f2079f42a6e6a669a5ad1fd67704ad40b2d61894 /dexlib2/src | |
parent | f10643fa4371dcd2f94ef15a19d1472d4931061d (diff) | |
download | smali-ea7c265d125c3037a09388280b00d3973e56f10f.tar.gz |
MemoryDataStore: Fix growth calculation
Diffstat (limited to 'dexlib2/src')
-rw-r--r-- | dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java index 5797f806..0b077ce9 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java @@ -25,7 +25,7 @@ public class MemoryDataStore implements DexDataStore { return new OutputStream() { private int position = offset; @Override public void write(int b) throws IOException { - growBufferIfNeeded(position); + growBufferIfNeeded(position + 1); buf[position++] = (byte)b; } @@ -43,11 +43,11 @@ public class MemoryDataStore implements DexDataStore { }; } - private void growBufferIfNeeded(int index) { - if (index < buf.length) { + private void growBufferIfNeeded(int minSize) { + if (minSize <= buf.length) { return; } - buf = Arrays.copyOf(buf, (int)((index + 1) * 1.2)); + buf = Arrays.copyOf(buf, (int)(minSize * 1.2)); } @Nonnull @Override public InputStream readAt(final int offset) { |