Escape search query (#3486)

Signed-off-by: Jonas Franz <info@jonasfranz.de>
release/v1.15
Jonas Franz 2018-02-11 14:42:28 +01:00 committed by Lauris BH
parent 6eaeb01ecf
commit 2cb4649acf
2 changed files with 8 additions and 1 deletions

View File

@ -27,6 +27,7 @@ import (
"golang.org/x/net/html/charset" "golang.org/x/net/html/charset"
"golang.org/x/text/transform" "golang.org/x/text/transform"
"gopkg.in/editorconfig/editorconfig-core-go.v1" "gopkg.in/editorconfig/editorconfig-core-go.v1"
"html"
) )
// NewFuncMap returns functions for injecting to templates // NewFuncMap returns functions for injecting to templates
@ -179,6 +180,7 @@ func NewFuncMap() []template.FuncMap {
return dict, nil return dict, nil
}, },
"Printf": fmt.Sprintf, "Printf": fmt.Sprintf,
"Escape": Escape,
}} }}
} }
@ -197,6 +199,11 @@ func Str2html(raw string) template.HTML {
return template.HTML(markup.Sanitize(raw)) return template.HTML(markup.Sanitize(raw))
} }
// Escape escapes a HTML string
func Escape(raw string) string {
return html.EscapeString(raw)
}
// List traversings the list // List traversings the list
func List(l *list.List) chan interface{} { func List(l *list.List) chan interface{} {
e := l.Front() e := l.Front()

View File

@ -14,7 +14,7 @@
</div> </div>
{{if .Keyword}} {{if .Keyword}}
<h3> <h3>
{{.i18n.Tr "repo.search.results" .Keyword .RepoLink .RepoName | Str2html}} {{.i18n.Tr "repo.search.results" (.Keyword|Escape) .RepoLink .RepoName | Str2html }}
</h3> </h3>
<div class="repository search"> <div class="repository search">
{{range $result := .SearchResults}} {{range $result := .SearchResults}}