diff --git a/pkg/v1/mutate/mutate.go b/pkg/v1/mutate/mutate.go index f94ad0b74..60dae3c4d 100644 --- a/pkg/v1/mutate/mutate.go +++ b/pkg/v1/mutate/mutate.go @@ -263,6 +263,10 @@ func extract(img v1.Image, w io.Writer) error { return fmt.Errorf("reading tar: %v", err) } + // Some tools prepend everything with "./", so if we don't Clean the + // name, we may have duplicate entries, which angers tar-split. + header.Name = filepath.Clean(header.Name) + basename := filepath.Base(header.Name) dirname := filepath.Dir(header.Name) tombstone := strings.HasPrefix(basename, whiteoutPrefix)