diff options
-rw-r--r-- | models/repo.go | 2 | ||||
-rw-r--r-- | models/wiki.go | 2 | ||||
-rw-r--r-- | routes/repo/editor.go | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/models/repo.go b/models/repo.go index 6ed7cd18..827c9aaf 100644 --- a/models/repo.go +++ b/models/repo.go @@ -854,7 +854,7 @@ type CreateRepoOptions struct { } func getRepoInitFile(tp, name string) ([]byte, error) { - relPath := path.Join("conf", tp, strings.TrimLeft(name, "./")) + relPath := path.Join("conf", tp, strings.TrimLeft(path.Clean("/"+name), "/")) // Use custom file when available. customPath := path.Join(setting.CustomPath, relPath) diff --git a/models/wiki.go b/models/wiki.go index 24d07938..7e085d0a 100644 --- a/models/wiki.go +++ b/models/wiki.go @@ -33,7 +33,7 @@ func ToWikiPageURL(name string) string { // that are not belong to wiki repository. func ToWikiPageName(urlString string) string { name, _ := url.QueryUnescape(urlString) - return strings.Replace(strings.TrimLeft(name, "./"), "/", " ", -1) + return strings.Replace(strings.TrimLeft(path.Clean("/"+name), "/"), "/", " ", -1) } // WikiCloneLink returns clone URLs of repository wiki. diff --git a/routes/repo/editor.go b/routes/repo/editor.go index 4cd78d70..03f30bdc 100644 --- a/routes/repo/editor.go +++ b/routes/repo/editor.go @@ -140,7 +140,7 @@ func editFilePost(c *context.Context, f form.EditRepoFile, isNewFile bool) { branchName = f.NewBranchName } - f.TreePath = strings.Trim(f.TreePath, " /") + f.TreePath = strings.Trim(path.Clean("/"+f.TreePath), " /") treeNames, treePaths := getParentTreeFields(f.TreePath) c.Data["ParentTreePath"] = path.Dir(c.Repo.TreePath) @@ -431,7 +431,7 @@ func UploadFilePost(c *context.Context, f form.UploadRepoFile) { branchName = f.NewBranchName } - f.TreePath = strings.Trim(f.TreePath, " /") + f.TreePath = strings.Trim(path.Clean("/"+f.TreePath), " /") treeNames, treePaths := getParentTreeFields(f.TreePath) if len(treeNames) == 0 { // We must at least have one element for user to input. |