From f13b901f2d15eda2681a4f4695b9d83cf4cbedcc Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Mon, 12 Dec 2022 10:40:04 +0100 Subject: [PATCH] local fs: fixed paths validation for some Windows specific edge cases Signed-off-by: Nicola Murino --- internal/vfs/osfs.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/vfs/osfs.go b/internal/vfs/osfs.go index a5d1705e..2f96172f 100644 --- a/internal/vfs/osfs.go +++ b/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 {