aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--models/repo.go2
-rw-r--r--models/wiki.go2
-rw-r--r--routes/repo/editor.go4
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.