This is an automated email from the ASF dual-hosted git repository. tallison pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tika.git
commit a90a95b96a019b45fd8d10e82c48fcf633fbb064 Author: tallison <[email protected]> AuthorDate: Wed Apr 8 10:48:24 2020 -0400 improve mp3 parser --- .../src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java b/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java index 41298dd..08dfc9d 100644 --- a/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java +++ b/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java @@ -31,6 +31,8 @@ import static java.nio.charset.StandardCharsets.ISO_8859_1; * be turned into useful data. */ public class ID3v2Frame implements MP3Frame { + + private static final int MAX_RECORD_SIZE = 1_000_000; private int majorVersion; private int minorVersion; private int flags; @@ -180,6 +182,10 @@ public class ID3v2Frame implements MP3Frame { } protected static byte[] readFully(InputStream inp, int length, boolean shortDataIsFatal) throws IOException { + if (length > MAX_RECORD_SIZE) { + throw new IOException("Record size ("+length+ + " bytes) is larger than the allowed record size: "+MAX_RECORD_SIZE); + } byte[] b = new byte[length]; int pos = 0;
