MetadataBlockDataStreamInfo exception when bytes length is 0

Issue #253 resolved
Adrian Drabik created an issue

I recently found a bug with weird .flac file.

If you read data length in this line, you sometimes get 0 bytes (in my case it is not the end of the metadata block).

When rawdata length is 0, then you have BufferUnderflowException in this line.

java.nio.BufferUnderflowException
    at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:634)
    at java.base/java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:350)
    at org.jaudiotagger.audio.flac.metadatablock.MetadataBlockDataStreamInfo.<init>(MetadataBlockDataStreamInfo.java:80)
    at org.jaudiotagger.audio.flac.FlacInfoReader.read(FlacInfoReader.java:64)
    at org.jaudiotagger.audio.flac.FlacFileReader.getEncodingInfo(FlacFileReader.java:42)
    at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:63)
    at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:361)
    at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:197)

Comments (2)

  1. Log in to comment