Author: tpalsulich
Date: Fri Dec  5 19:38:31 2014
New Revision: 1643411

URL: http://svn.apache.org/r1643411
Log:
TIKA-1218, prevent negative array size exceptions for corrupted mp3s.

Modified:
    tika/trunk/CHANGES.txt
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java

Modified: tika/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1643411&r1=1643410&r2=1643411&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Fri Dec  5 19:38:31 2014
@@ -1,5 +1,8 @@
 Release 1.7 - Current Development
 
+  * Prevent exceptions from being thrown for some malformed
+    mp3 files (TIKA-1218).
+
   * Reformat pom.xml files to use two spaces per indent (TIKA-1475).
 
   * Fix warning of slf4j logger on Tika Server startup (TIKA-1472).

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java?rev=1643411&r1=1643410&r2=1643411&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/ID3v2Frame.java
 Fri Dec  5 19:38:31 2014
@@ -413,7 +413,7 @@ public class ID3v2Frame implements MP3Fr
 
             // Now data
             int copyFrom = offset+nameLength+sizeLength+flagLength;
-            size = Math.min(size, frameData.length-copyFrom);
+            size = Math.max(0, Math.min(size, frameData.length-copyFrom)); // 
TIKA-1218, prevent negative size for malformed files.
             data = new byte[size];
             System.arraycopy(frameData, copyFrom, data, 0, size);
         }


Reply via email to