Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/77095eaaa2be95b8883b745da46d91ef22f0abd0

>---------------------------------------------------------------

commit 77095eaaa2be95b8883b745da46d91ef22f0abd0
Author: Duncan Coutts <[email protected]>
Date:   Sun Nov 22 08:02:55 2009 +0000

    Ignore PAX entries when checking for tarbombs
    When checking for tarbombs, ignore PAX entry types 'g' and 'x'.
    These do not get extracted so their names do not matter.

>---------------------------------------------------------------

 cabal-install/Distribution/Client/Tar.hs |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/cabal-install/Distribution/Client/Tar.hs 
b/cabal-install/Distribution/Client/Tar.hs
index 9b251f0..fd9150a 100644
--- a/cabal-install/Distribution/Client/Tar.hs
+++ b/cabal-install/Distribution/Client/Tar.hs
@@ -446,6 +446,15 @@ checkEntrySecurity entry = case entryContent entry of
       | otherwise = Nothing
 
 checkEntryTarbomb :: FilePath -> Entry -> Maybe String
+checkEntryTarbomb _ entry | nonFilesystemEntry = Nothing
+  where
+    -- Ignore some special entries we will not unpack anyway
+    nonFilesystemEntry =
+      case entryContent entry of
+        OtherEntryType 'g' _ _ -> True --PAX global header
+        OtherEntryType 'x' _ _ -> True --PAX individual header
+        _                      -> False
+
 checkEntryTarbomb expectedTopDir entry =
   case FilePath.Native.splitDirectories (entryPath entry) of
     (topDir:_) | topDir == expectedTopDir -> Nothing



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to