From c8bf73883cbb0e197eee197a89e60ff99f9f947b Mon Sep 17 00:00:00 2001
From: Qi Wang <qiwan@redhat.com>
Date: Mon, 4 Mar 2019 09:45:32 -0500
Subject: Don't extract tar file in podman cp

Signed-off-by: Qi Wang <qiwan@redhat.com>
---
 cmd/podman/cp.go | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

(limited to 'cmd')

diff --git a/cmd/podman/cp.go b/cmd/podman/cp.go
index 30b6d75d2..5958370b6 100644
--- a/cmd/podman/cp.go
+++ b/cmd/podman/cp.go
@@ -240,7 +240,6 @@ func copy(src, destPath, dest string, idMappingOpts storage.IDMappingOptions, ch
 	// return functions for copying items
 	copyFileWithTar := chrootarchive.CopyFileWithTarAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap)
 	copyWithTar := chrootarchive.CopyWithTarAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap)
-	untarPath := chrootarchive.UntarPathAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap)
 
 	if srcfi.IsDir() {
 
@@ -263,17 +262,11 @@ func copy(src, destPath, dest string, idMappingOpts storage.IDMappingOptions, ch
 		if destfi != nil && destfi.IsDir() {
 			destPath = filepath.Join(destPath, filepath.Base(srcPath))
 		}
-		// Copy the file, preserving attributes.
-		logrus.Debugf("copying %q to %q", srcPath, destPath)
-		if err = copyFileWithTar(srcPath, destPath); err != nil {
-			return errors.Wrapf(err, "error copying %q to %q", srcPath, destPath)
-		}
-		return nil
 	}
-	// We're extracting an archive into the destination directory.
-	logrus.Debugf("extracting contents of %q into %q", srcPath, destPath)
-	if err = untarPath(srcPath, destPath); err != nil {
-		return errors.Wrapf(err, "error extracting %q into %q", srcPath, destPath)
+	// Copy the file, preserving attributes.
+	logrus.Debugf("copying %q to %q", srcPath, destPath)
+	if err = copyFileWithTar(srcPath, destPath); err != nil {
+		return errors.Wrapf(err, "error copying %q to %q", srcPath, destPath)
 	}
 	return nil
 }
-- 
cgit v1.2.3-54-g00ecf