Escape paths for find file correctly (#30026) (#30031)

Backport #30026

(cherry picked from commit 2172b38d505fa9586edf5da0d4aad7307dc92b7d)
This commit is contained in:
wxiaoguang 2024-03-24 00:21:57 +08:00 committed by Earl Warren
parent 7c8f1d7b20
commit b22be0c03f
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -8,6 +8,7 @@ import (
"code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/util"
) )
const ( const (
@ -17,7 +18,7 @@ const (
// FindFiles render the page to find repository files // FindFiles render the page to find repository files
func FindFiles(ctx *context.Context) { func FindFiles(ctx *context.Context) {
path := ctx.Params("*") path := ctx.Params("*")
ctx.Data["TreeLink"] = ctx.Repo.RepoLink + "/src/" + path ctx.Data["TreeLink"] = ctx.Repo.RepoLink + "/src/" + util.PathEscapeSegments(path)
ctx.Data["DataLink"] = ctx.Repo.RepoLink + "/tree-list/" + path ctx.Data["DataLink"] = ctx.Repo.RepoLink + "/tree-list/" + util.PathEscapeSegments(path)
ctx.HTML(http.StatusOK, tplFindFiles) ctx.HTML(http.StatusOK, tplFindFiles)
} }