You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2020/04/08 15:34:50 UTC
[tika] 13/14: improve mp3 parser
This is an automated email from the ASF dual-hosted git repository.
tallison pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 57193f5191368311e0334766e366f6f77b4d15a8
Author: tallison <ta...@apache.org>
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;