Author: bodewig
Date: Mon Jun  3 09:58:27 2013
New Revision: 1488947

URL: http://svn.apache.org/r1488947
Log:
COMPRESS-229 aftermaths, properly deal with broken archives that end with an 
incomplete entry.  Unfortunately we don't have a test for this

Modified:
    
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java

Modified: 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java?rev=1488947&r1=1488946&r2=1488947&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
 (original)
+++ 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
 Mon Jun  3 09:58:27 2013
@@ -250,11 +250,23 @@ public class TarArchiveInputStream exten
 
         if (currEntry.isGNULongLinkEntry()) {
             byte[] longLinkData = getLongNameData();
+            if (longLinkData == null) {
+                // Bugzilla: 40334
+                // Malformed tar file - long link entry name not followed by
+                // entry
+                return null;
+            }
             currEntry.setLinkName(encoding.decode(longLinkData));
         }
 
         if (currEntry.isGNULongNameEntry()) {
             byte[] longNameData = getLongNameData();
+            if (longNameData == null) {
+                // Bugzilla: 40334
+                // Malformed tar file - long entry name not followed by
+                // entry
+                return null;
+            }
             currEntry.setName(encoding.decode(longNameData));
         }
 


Reply via email to