瀏覽代碼

local fs: fixed paths validation for some Windows specific edge cases

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Nicola Murino 2 年之前
父節點
當前提交
f13b901f2d
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      internal/vfs/osfs.go

+ 4 - 0
internal/vfs/osfs.go

@@ -32,6 +32,7 @@ import (
 	"github.com/rs/xid"
 
 	"github.com/drakkan/sftpgo/v2/internal/logger"
+	"github.com/drakkan/sftpgo/v2/internal/util"
 )
 
 const (
@@ -406,6 +407,9 @@ func (fs *OsFs) findNonexistentDirs(filePath string) ([]string, error) {
 	for fs.IsNotExist(err) {
 		results = append(results, parent)
 		parent = filepath.Dir(parent)
+		if util.Contains(results, parent) {
+			break
+		}
 		_, err = os.Stat(parent)
 	}
 	if err != nil {