Skip to content

Commit 3b64a06

Browse files
authored
Merge pull request #423 from databacker/smb-prune-slash
ensure that smb filenames do not start with slash when removing or pulling
2 parents 68d9218 + 307e7f8 commit 3b64a06

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

pkg/storage/smb/smb.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ func (s *SMB) Pull(ctx context.Context, source, target string, logger *log.Entry
5858
)
5959
err = s.exec(s.url, func(fs *smb2.Share, sharepath string) error {
6060
smbFilename := fmt.Sprintf("%s%c%s", sharepath, smb2.PathSeparator, filepath.Base(strings.ReplaceAll(target, ":", "-")))
61+
smbFilename = strings.TrimPrefix(smbFilename, fmt.Sprintf("%c", smb2.PathSeparator))
6162

6263
to, err := os.Create(target)
6364
if err != nil {
@@ -126,6 +127,7 @@ func (s *SMB) ReadDir(ctx context.Context, dirname string, logger *log.Entry) ([
126127
func (s *SMB) Remove(ctx context.Context, target string, logger *log.Entry) error {
127128
return s.exec(s.url, func(fs *smb2.Share, sharepath string) error {
128129
smbFilename := fmt.Sprintf("%s%c%s", sharepath, smb2.PathSeparator, filepath.Base(strings.ReplaceAll(target, ":", "-")))
130+
smbFilename = strings.TrimPrefix(smbFilename, fmt.Sprintf("%c", smb2.PathSeparator))
129131
return fs.Remove(smbFilename)
130132
})
131133
}

0 commit comments

Comments
 (0)