From 8767ac5193e07846e9ee6906bd8dda44c468e8c3 Mon Sep 17 00:00:00 2001 From: anonymouswalker Date: Mon, 28 Mar 2022 10:52:42 -0500 Subject: [PATCH 1/3] avoid throwing exception when file is never tagged --- .../com/mpatric/mp3agic/AbstractID3v2Tag.java | 2 +- .../java/com/mpatric/mp3agic/Mp3FileTest.java | 8 ++++++++ src/test/resources/never-tagged.mp3 | Bin 0 -> 25076 bytes 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/never-tagged.mp3 diff --git a/src/main/java/com/mpatric/mp3agic/AbstractID3v2Tag.java b/src/main/java/com/mpatric/mp3agic/AbstractID3v2Tag.java index 7e490b30..539db3b4 100644 --- a/src/main/java/com/mpatric/mp3agic/AbstractID3v2Tag.java +++ b/src/main/java/com/mpatric/mp3agic/AbstractID3v2Tag.java @@ -154,7 +154,7 @@ private int unpackHeader(byte[] bytes) throws UnsupportedTagException, InvalidDa unpackFlags(bytes); if ((bytes[FLAGS_OFFSET] & 0x0F) != 0) throw new UnsupportedTagException("Unrecognised bits in header"); dataLength = BufferTools.unpackSynchsafeInteger(bytes[DATA_LENGTH_OFFSET], bytes[DATA_LENGTH_OFFSET + 1], bytes[DATA_LENGTH_OFFSET + 2], bytes[DATA_LENGTH_OFFSET + 3]); - if (dataLength < 1) throw new InvalidDataException("Zero size tag"); +// if (dataLength < 1) throw new InvalidDataException("Zero size tag"); return HEADER_LENGTH; } diff --git a/src/test/java/com/mpatric/mp3agic/Mp3FileTest.java b/src/test/java/com/mpatric/mp3agic/Mp3FileTest.java index f8657b8d..0a12b03f 100644 --- a/src/test/java/com/mpatric/mp3agic/Mp3FileTest.java +++ b/src/test/java/com/mpatric/mp3agic/Mp3FileTest.java @@ -15,6 +15,7 @@ public class Mp3FileTest { private static final String fs = File.separator; + private static final String MP3_NEVER_TAGGED = "src" + fs + "test" + fs + "resources" + fs + "never-tagged.mp3"; private static final String MP3_WITH_NO_TAGS = "src" + fs + "test" + fs + "resources" + fs + "notags.mp3"; private static final String MP3_WITH_ID3V1_AND_ID3V23_TAGS = "src" + fs + "test" + fs + "resources" + fs + "v1andv23tags.mp3"; private static final String MP3_WITH_DUMMY_START_AND_END_FRAMES = "src" + fs + "test" + fs + "resources" + fs + "dummyframes.mp3"; @@ -33,6 +34,8 @@ public void shouldLoadMp3WithNoTags() throws IOException, UnsupportedTagExceptio loadAndCheckTestMp3WithNoTags(new File(MP3_WITH_NO_TAGS), 256); loadAndCheckTestMp3WithNoTags(new File(MP3_WITH_NO_TAGS), 1024); loadAndCheckTestMp3WithNoTags(new File(MP3_WITH_NO_TAGS), 5000); + + loadAndCheckTestMp3NeverTagged(MP3_NEVER_TAGGED); } @Test @@ -356,6 +359,11 @@ private Mp3File copyAndCheckTestMp3WithUnicodeFields(Mp3File mp3File) throws Not } } + private Mp3File loadAndCheckTestMp3NeverTagged(String filename) throws IOException, UnsupportedTagException, InvalidDataException { + Mp3File mp3File = new Mp3File(filename); + return mp3File; + } + private Mp3File loadAndCheckTestMp3WithNoTags(String filename, int bufferLength) throws IOException, UnsupportedTagException, InvalidDataException { Mp3File mp3File = loadAndCheckTestMp3(filename, bufferLength); return loadAndCheckTestMp3WithNoTags(mp3File); diff --git a/src/test/resources/never-tagged.mp3 b/src/test/resources/never-tagged.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f771cc9a1fd5fa93730256d704453cf467aa8fd2 GIT binary patch literal 25076 zcmd>`^-~i@Qr8NN{&|cPCg97I$}dhu{$09THpu1PJaD-1d=M_r4$A zzwo+hYP4#4=5zX->F@Lm^eKK2@c){ula=$^Hq5u_Jpf>O4S+*JLPy8O!y_hsM@2

i9;^OJ!^W{rmXlP_)TvAe6T6T7RadAaO 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 Date: Mon, 28 Mar 2022 11:11:41 -0500 Subject: [PATCH 2/3] version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 17358c04..e4c8bacd 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.mpatric mp3agic - 0.9.2-SNAPSHOT + 0.9.3-DEVELOPMENT mp3agic A java library for reading mp3 files and manipulating mp3 file ID3 tags (ID3v1 and ID3v2.2 to ID3v2.4). From dc029ceffe0523a000b0eb6fa3aafb17139d6190 Mon Sep 17 00:00:00 2001 From: anonymouswalker Date: Mon, 28 Mar 2022 13:34:02 -0500 Subject: [PATCH 3/3] version number only --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e4c8bacd..c1bc3d2f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.mpatric mp3agic - 0.9.3-DEVELOPMENT + 0.9.3 mp3agic A java library for reading mp3 files and manipulating mp3 file ID3 tags (ID3v1 and ID3v2.2 to ID3v2.4).