Aiff Reader should never throw BufferUnderflowException even if file is corrupt
Issue #189
resolved
java.nio.BufferUnderflowException
at java.nio.Buffer.nextGetIndex(Buffer.java:500)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:249)
at org.jaudiotagger.audio.aiff.chunk.ID3Chunk.isId3v2Tag(ID3Chunk.java:89)
at org.jaudiotagger.audio.aiff.chunk.ID3Chunk.readChunk(ID3Chunk.java:42)
at org.jaudiotagger.audio.aiff.AiffTagReader.readChunk(AiffTagReader.java:92)
at org.jaudiotagger.audio.aiff.AiffTagReader.read(AiffTagReader.java:48)
at org.jaudiotagger.audio.aiff.AiffFileReader.getTag(AiffFileReader.java:30)
at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:56)
at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:359)
at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:196)
at com.jthink.songkong.db.SongCache.addSongToDatabase(SongCache.java:240)
at com.jthink.songkong.fileloader.LoadFolderWorker.addSongsToDatabase(LoadFolderWorker.java:524)
at com.jthink.songkong.fileloader.LoadFolderWorker.call(LoadFolderWorker.java:119)
at com.jthink.songkong.fileloader.LoadFolderWorker.call(LoadFolderWorker.java:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Comments (3)
-
reporter -
reporter - edited description
-
reporter - changed status to resolved
Fixed, check buffer not null earlier (due to size=0 in chunk header) on.
- Log in to comment