- changed status to closed
java.nio.BufferUnderflowException when reading a corrupted mp3 file
Issue #302
closed
I’m getting the following stacktrace when running jaudiotagger on a corrupted mp3:
Exception in thread "main" java.nio.BufferUnderflowException
at java.nio.ByteBuffer.get(ByteBuffer.java:688)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:285)
at java.nio.ByteBuffer.get(ByteBuffer.java:715)
at org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody.read(AbstractID3v2FrameBody.java:156)
at org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody.<init>(AbstractID3v2FrameBody.java:81)
at org.jaudiotagger.tag.id3.framebody.FrameBodyEncrypted.<init>(FrameBodyEncrypted.java:61)
at org.jaudiotagger.tag.id3.AbstractID3v2Frame.readEncryptedBody(AbstractID3v2Frame.java:224)
at org.jaudiotagger.tag.id3.ID3v23Frame.read(ID3v23Frame.java:465)
at org.jaudiotagger.tag.id3.ID3v23Frame.<init>(ID3v23Frame.java:281)
at org.jaudiotagger.tag.id3.ID3v23Tag.readFrames(ID3v23Tag.java:579)
at org.jaudiotagger.tag.id3.ID3v23Tag.read(ID3v23Tag.java:543)
at org.jaudiotagger.tag.id3.ID3v23Tag.<init>(ID3v23Tag.java:308)
at org.jaudiotagger.audio.mp3.MP3File.readV2Tag(MP3File.java:235)
at org.jaudiotagger.audio.mp3.MP3File.<init>(MP3File.java:494)
at org.jaudiotagger.audio.mp3.MP3FileReader.read(MP3FileReader.java:39)
at org.jaudiotagger.audio.AudioFileIO.readFileMagic(AudioFileIO.java:387)
at org.jaudiotagger.audio.AudioFileIO.readMagic(AudioFileIO.java:175)
at org.jaudiotagger.fuzzers.ReadMetaFuzzer.testOneInput(ReadMetaFuzzer.java:25)
at org.jaudiotagger.fuzzers.ReadMetaFuzzer.testOneInput(ReadMetaFuzzer.java:14)
Comments (1)
-
repo owner - Log in to comment
Fixed, the issue was corrupt TYER frame indicating it has encoded data but frame size was not large enough to accomadate the extra bytes expected, now correctly gnore as invalid frame allowing file to be read and written to