From: Reimar Döffinger Date: Sat, 2 Sep 2017 19:13:48 +0000 (+0200) Subject: Sanity-limit allocations. X-Git-Url: http://gitweb.fperrin.net/?p=Dictionary.git;a=commitdiff_plain;h=432606ca5a9378291ac82b49798a461e5c9f1872 Sanity-limit allocations. --- diff --git a/Util b/Util index 25459d3..23c6349 160000 --- a/Util +++ b/Util @@ -1 +1 @@ -Subproject commit 25459d31490c08a67141ac56d9bf5d6b9c1d4d97 +Subproject commit 23c6349bd8331e34107a1bcb8e709be1b3ad0bb8 diff --git a/src/com/hughes/android/dictionary/engine/HtmlEntry.java b/src/com/hughes/android/dictionary/engine/HtmlEntry.java index ce57e11..f69a325 100644 --- a/src/com/hughes/android/dictionary/engine/HtmlEntry.java +++ b/src/com/hughes/android/dictionary/engine/HtmlEntry.java @@ -50,7 +50,7 @@ public class HtmlEntry extends AbstractEntry implements Comparable { 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 { } 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); }