Parcourir la source

pkg/archive: keep walkRoot clean if source is /

Previously, getWalkRoot("/", "foo") would return "//foo"
Now it returns "/foo"

Signed-off-by: Tibor Vass <tibor@docker.com>
Tibor Vass il y a 6 ans
Parent
commit
7410f1a859
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  1. 2 1
      pkg/archive/archive_unix.go

+ 2 - 1
pkg/archive/archive_unix.go

@@ -7,6 +7,7 @@ import (
 	"errors"
 	"errors"
 	"os"
 	"os"
 	"path/filepath"
 	"path/filepath"
+	"strings"
 	"syscall"
 	"syscall"
 
 
 	"github.com/docker/docker/pkg/idtools"
 	"github.com/docker/docker/pkg/idtools"
@@ -26,7 +27,7 @@ func fixVolumePathPrefix(srcPath string) string {
 // can't use filepath.Join(srcPath,include) because this will clean away
 // can't use filepath.Join(srcPath,include) because this will clean away
 // a trailing "." or "/" which may be important.
 // a trailing "." or "/" which may be important.
 func getWalkRoot(srcPath string, include string) string {
 func getWalkRoot(srcPath string, include string) string {
-	return srcPath + string(filepath.Separator) + include
+	return strings.TrimSuffix(srcPath, string(filepath.Separator)) + string(filepath.Separator) + include
 }
 }
 
 
 // CanonicalTarNameForPath returns platform-specific filepath
 // CanonicalTarNameForPath returns platform-specific filepath