- changed status to resolved
patch: avoid crashes caused by corrupt mp3 files
Issue #238
resolved
File app/src/main/java/org/jaudiotagger/tag/id3/ID3v11Tag.java
--- a/app/src/main/java/org/jaudiotagger/tag/id3/ID3v11Tag.java
+++ b/app/src/main/java/org/jaudiotagger/tag/id3/ID3v11Tag.java
@@ -237,6 +237,10 @@ public class ID3v11Tag extends ID3v1Tag
ByteBuffer byteBuffer = ByteBuffer.allocate(TAG_LENGTH);
fc = file.getChannel();
+ if(file.length() < TAG_LENGTH)
+ {
+ throw new IOException("File not large enough to contain a tag");
+ }
fc.position(file.length() - TAG_LENGTH);
fc.read(byteBuffer);
File app/src/main/java/org/jaudiotagger/tag/id3/ID3v1Tag.java
--- a/app/src/main/java/org/jaudiotagger/tag/id3/ID3v1Tag.java
+++ b/app/src/main/java/org/jaudiotagger/tag/id3/ID3v1Tag.java
@@ -189,6 +189,10 @@ public class ID3v1Tag extends AbstractID3v1Tag implements Tag
ByteBuffer byteBuffer;
fc = file.getChannel();
+ if(file.length() < TAG_LENGTH)
+ {
+ throw new IOException("File not large enough to contain a tag");
+ }
fc.position(file.length() - TAG_LENGTH);
byteBuffer = ByteBuffer.allocate(TAG_LENGTH);
fc.read(byteBuffer);
File app/src/main/java/org/jaudiotagger/tag/id3/AbstractID3v1Tag.java
--- a/app/src/main/java/org/jaudiotagger/tag/id3/AbstractID3v1Tag.java
+++ b/app/src/main/java/org/jaudiotagger/tag/id3/AbstractID3v1Tag.java
@@ -129,7 +129,7 @@ abstract public class AbstractID3v1Tag extends AbstractID3Tag
if(file.length() < TAG_LENGTH)
{
- throw new IOException("File not not appear large enough to contain a tag");
+ throw new IOException("File not large enough to contain a tag");
}
fc.position(file.length() - TAG_LENGTH);
byteBuffer = ByteBuffer.allocate(TAG_LENGTH);
Comments (1)
-
repo owner - Log in to comment
Thanks, fixed.