- changed status to resolved
Flac reader should check StreamInfo block is too small to read header details
Get stacktrace
Java.nio.BufferUnderflowException
at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:699)
at java.base/java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:399)
at org.jaudiotagger.audio.flac.metadatablock.MetadataBlockDataStreamInfo.<init>(MetadataBlockDataStreamInfo.java:79)
at org.jaudiotagger.audio.flac.FlacInfoReader.read(FlacInfoReader.java:70)
at org.jaudiotagger.audio.flac.FlacFileReader.getEncodingInfo(FlacFileReader.java:40)
at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:60)
at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:357)
at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:193)
So reads header size and grabs bytes but only header size is 4 instead of 34 so then when trys to read maxBlockSize
it fails. We should determine header size is too small earlier on and throw sensible IOException message.
Comments (1)
-
reporter - Log in to comment
Fixed, now throws exception if header size is less than 34