From 494e13d68a095ddbfc5f5822e54b871f8c6729b7 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Thu, 8 Sep 2022 20:22:11 +0800 Subject: [PATCH] fix(region): format and check existing path Signed-off-by: wanyaoqi --- pkg/compute/models/disks.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index 1b4d2b056e..615852b323 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -19,6 +19,7 @@ import ( "database/sql" "fmt" "path" + "path/filepath" "strings" "time" @@ -1884,6 +1885,13 @@ func parseDiskInfo(ctx context.Context, userCred mcclient.TokenCredential, info } } } + if info.ExistingPath != "" { + info.ExistingPath = strings.TrimSpace(info.ExistingPath) + _, err := filepath.Rel("/", info.ExistingPath) + if err != nil { + return nil, errors.Wrap(err, "invaild existing path") + } + } // XXX: do not set default disk size here, set it by each hypervisor driver // if len(diskConfig.ImageId) > 0 && diskConfig.SizeMb == 0 { // diskConfig.SizeMb = options.Options.DefaultDiskSize // MB