aboutsummaryrefslogtreecommitdiff
path: root/dexlib2/src
diff options
context:
space:
mode:
authorLanchon <lanchon@gmail.com>2017-09-24 19:35:57 -0300
committerBen Gruver <jesusfreke@jesusfreke.com>2018-06-13 14:11:46 -0700
commitea7c265d125c3037a09388280b00d3973e56f10f (patch)
treef2079f42a6e6a669a5ad1fd67704ad40b2d61894 /dexlib2/src
parentf10643fa4371dcd2f94ef15a19d1472d4931061d (diff)
downloadsmali-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.java8
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) {