1
0
mirror of https://github.com/golang/go synced 2024-11-23 08:30:05 -07:00

archive/tar: narrow trim range for formatter'formatString

Trim s[:len(b)-1] rather than s[:len(b)], since s[len(b)-1] is '/'.
This commit is contained in:
Jes Cok 2023-06-12 20:05:21 +08:00
parent 34a6028663
commit 457977514d

View File

@ -73,13 +73,8 @@ func (f *formatter) formatString(b []byte, s string) {
// in the V7 path field as a directory even though the full path
// recorded elsewhere (e.g., via PAX record) contains no trailing slash.
if len(s) > len(b) && b[len(b)-1] == '/' {
i := len(b) - 2 // s[len(b)-1] == '/'
for ; i >= 0; i-- {
if s[i] != '/' {
break
}
}
b[i+1] = 0 // Replace trailing slash with NUL terminator
n := len(strings.TrimRight(s[:len(b)-1], "/"))
b[n] = 0 // Replace trailing slash with NUL terminator
}
}