Escape paths for find file correctly (#30026)

Fix #30020

(cherry picked from commit 1cdc6c3a4ea28396788b2697f9cf257df161ff9a)
This commit is contained in:
wxiaoguang 2024-03-23 21:07:47 +08:00 committed by Earl Warren
parent d64b9757e8
commit b73117127c
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -7,6 +7,7 @@ import (
"net/http" "net/http"
"code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/services/context" "code.gitea.io/gitea/services/context"
) )
@ -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)
} }