aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2024-03-23 21:07:47 +0800
committerGitHub <noreply@github.com>2024-03-23 13:07:47 +0000
commit1cdc6c3a4ea28396788b2697f9cf257df161ff9a (patch)
tree8cce5f0060b96640f1df82106d5d2fe1d744cd0d
parent74c1378dfb5f1831ca2bf1f0b18ab150134f4beb (diff)
downloadgitea-1cdc6c3a4ea28396788b2697f9cf257df161ff9a.tar.gz
gitea-1cdc6c3a4ea28396788b2697f9cf257df161ff9a.zip
Escape paths for find file correctly (#30026)
Fix #30020
-rw-r--r--routers/web/repo/find.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/routers/web/repo/find.go b/routers/web/repo/find.go
index 07b3722798..9da4237c1e 100644
--- a/routers/web/repo/find.go
+++ b/routers/web/repo/find.go
@@ -7,6 +7,7 @@ import (
"net/http"
"code.gitea.io/gitea/modules/base"
+ "code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/services/context"
)
@@ -17,7 +18,7 @@ const (
// FindFiles render the page to find repository files
func FindFiles(ctx *context.Context) {
path := ctx.Params("*")
- ctx.Data["TreeLink"] = ctx.Repo.RepoLink + "/src/" + path
- ctx.Data["DataLink"] = ctx.Repo.RepoLink + "/tree-list/" + path
+ ctx.Data["TreeLink"] = ctx.Repo.RepoLink + "/src/" + util.PathEscapeSegments(path)
+ ctx.Data["DataLink"] = ctx.Repo.RepoLink + "/tree-list/" + util.PathEscapeSegments(path)
ctx.HTML(http.StatusOK, tplFindFiles)
}