aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/archive/tar/common.go15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/archive/tar/common.go b/src/archive/tar/common.go
index 16ba53e94d..7b3945ff15 100644
--- a/src/archive/tar/common.go
+++ b/src/archive/tar/common.go
@@ -15,6 +15,7 @@ import (
"fmt"
"internal/godebug"
"io/fs"
+ "maps"
"math"
"path"
"reflect"
@@ -696,24 +697,14 @@ func FileInfoHeader(fi fs.FileInfo, link string) (*Header, error) {
h.Gname = sys.Gname
h.AccessTime = sys.AccessTime
h.ChangeTime = sys.ChangeTime
- if sys.Xattrs != nil {
- h.Xattrs = make(map[string]string)
- for k, v := range sys.Xattrs {
- h.Xattrs[k] = v
- }
- }
+ h.Xattrs = maps.Clone(sys.Xattrs)
if sys.Typeflag == TypeLink {
// hard link
h.Typeflag = TypeLink
h.Size = 0
h.Linkname = sys.Linkname
}
- if sys.PAXRecords != nil {
- h.PAXRecords = make(map[string]string)
- for k, v := range sys.PAXRecords {
- h.PAXRecords[k] = v
- }
- }
+ h.PAXRecords = maps.Clone(sys.PAXRecords)
}
var doNameLookups = true
if iface, ok := fi.(FileInfoNames); ok {