[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    [commons-compress] branch master updated: COMPRESS-531 it is an error if a PAX header is not followe
From:       bodewig () apache ! org
Date:       2020-05-31 11:37:32
Message-ID: 159092505269.4142.5116907687873328766 () gitbox ! apache ! org
[Download RAW message or body]

This is an automated email from the ASF dual-hosted git repository.

bodewig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git


The following commit(s) were added to refs/heads/master by this push:
     new e4eccde  COMPRESS-531 it is an error if a PAX header is not followed by an \
entry e4eccde is described below

commit e4eccde3c67483a22523be8a90d188e5416de921
Author: Stefan Bodewig <bodewig@apache.org>
AuthorDate: Sun May 31 13:36:55 2020 +0200

    COMPRESS-531 it is an error if a PAX header is not followed by an entry
---
 src/changes/changes.xml                                               | 4 ++++
 .../apache/commons/compress/archivers/tar/TarArchiveInputStream.java  | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 6eb4141..22da036 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -99,6 +99,10 @@ The <action> type attribute can be add,update,fix,remove.
       <action issue="COMPRESS-530" type="fix" date="2020-05-26">
         Throw IOException when it encounters a non-number while parsing pax header.
       </action>
+      <action issue="COMPRESS-531" type="fix" date="2020-05-31">
+        Throw IOException when a a tar archive contains a PAX header
+        without any normal entry follwoing it.
+      </action>
     </release>
     <release version="1.20" date="2020-02-08"
              description="Release 1.20">
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java \
b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java \
                index 5a9874a..c112ac7 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
                
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
 @@ -565,6 +565,9 @@ public class TarArchiveInputStream extends ArchiveInputStream {
             sparseHeaders = parsePAX01SparseHeaders(headers.get("GNU.sparse.map"));
         }
         getNextEntry(); // Get the actual file entry
+        if (currEntry == null) {
+            throw new IOException("premature end of tar archive. Didn't find any \
entry after PAX header."); +        }
         applyPaxHeadersToCurrentEntry(headers, sparseHeaders);
 
         // for 1.0 PAX Format, the sparse map is stored in the file data block


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic