]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Sanity-limit allocations.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 2 Sep 2017 19:13:48 +0000 (21:13 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 2 Sep 2017 19:13:48 +0000 (21:13 +0200)
Util
src/com/hughes/android/dictionary/engine/HtmlEntry.java

diff --git a/Util b/Util
index 25459d31490c08a67141ac56d9bf5d6b9c1d4d97..23c6349bd8331e34107a1bcb8e709be1b3ad0bb8 160000 (submodule)
--- a/Util
+++ b/Util
@@ -1 +1 @@
-Subproject commit 25459d31490c08a67141ac56d9bf5d6b9c1d4d97
+Subproject commit 23c6349bd8331e34107a1bcb8e709be1b3ad0bb8
index ce57e11a980cc2011bb57af85cb60f20896d5bf9..f69a325d83a61686359285c659f3b636a4dd143d 100644 (file)
@@ -50,7 +50,7 @@ public class HtmlEntry extends AbstractEntry implements Comparable<HtmlEntry> {
 
     public static byte[] readData(DataInput raf) throws IOException {
         int len = StringUtil.readVarInt(raf);
-        final byte[] bytes = new byte[len];
+        final byte[] bytes = new byte[Math.min(len, 20 * 1024 * 1024)];
         raf.readFully(bytes);
         return bytes;
     }
@@ -237,8 +237,8 @@ public class HtmlEntry extends AbstractEntry implements Comparable<HtmlEntry> {
             }
             raf = inp;
             this.ch = ch;
-            numBytes = raf.readInt();
-            numZipBytes = raf.readInt();
+            numBytes = Math.min(raf.readInt(), 20 * 1024 * 1024);
+            numZipBytes = Math.min(raf.readInt(), 20 * 1024 * 1024);
             offset = ch.position();
             raf.skipBytes(numZipBytes);
         }