mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-08 23:28:39 +03:00
osfs: improve isSubDir check
This commit is contained in:
10
vfs/osfs.go
10
vfs/osfs.go
@@ -413,7 +413,15 @@ func (fs *OsFs) isSubDir(sub, rootPath string) error {
|
||||
fsLog(fs, logger.LevelWarn, "invalid root path %#v: %v", rootPath, err)
|
||||
return err
|
||||
}
|
||||
if !strings.HasPrefix(sub, parent) {
|
||||
if parent == sub {
|
||||
return nil
|
||||
}
|
||||
if len(sub) < len(parent) {
|
||||
err = fmt.Errorf("path %#v is not inside: %#v", sub, parent)
|
||||
fsLog(fs, logger.LevelWarn, "error: %v ", err)
|
||||
return err
|
||||
}
|
||||
if !strings.HasPrefix(sub, parent+string(os.PathSeparator)) {
|
||||
err = fmt.Errorf("path %#v is not inside: %#v", sub, parent)
|
||||
fsLog(fs, logger.LevelWarn, "error: %v ", err)
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user