aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLanchon <lanchon@gmail.com>2017-09-24 22:07:00 -0300
committerBen Gruver <jesusfreke@jesusfreke.com>2018-06-13 14:11:46 -0700
commitf1c116241a00c5a05702a57559e13530b425ce4f (patch)
treec9e03d41b9c6decd357d735de237b4c705fa7fad
parentc41c24a0c2f17acfd06e3765544009b458c264d3 (diff)
downloadsmali-f1c116241a00c5a05702a57559e13530b425ce4f.tar.gz
MemoryDataStore: Fail fast on invalid offsets
-rw-r--r--dexlib2/src/main/java/org/jf/dexlib2/writer/io/MemoryDataStore.java2
1 files changed, 2 insertions, 0 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 a3b22d6c..d3c68636 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
@@ -31,6 +31,7 @@ public class MemoryDataStore implements DexDataStore {
}
@Nonnull @Override public OutputStream outputAt(final int offset) {
+ if (offset < 0) throw new IllegalArgumentException();
return new OutputStream() {
private int position = offset;
@Override public void write(int b) throws IOException {
@@ -68,6 +69,7 @@ public class MemoryDataStore implements DexDataStore {
}
@Nonnull @Override public InputStream readAt(final int offset) {
+ if (offset < 0) throw new IllegalArgumentException();
return new InputStream() {
private int position = offset;
private int mark = offset;