From 63598688e454274da53fea1d072d60dd0e783c4b Mon Sep 17 00:00:00 2001 From: Unknwon Date: Wed, 5 Apr 2017 13:12:05 -0400 Subject: pkg/markup: init default sanitizer.policy App would panic if user has validation error on installation and the sanitizer is not yet built. Therefore we need a minimal valid object for sanitizer at start. --- pkg/markup/sanitizer.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'pkg/markup/sanitizer.go') diff --git a/pkg/markup/sanitizer.go b/pkg/markup/sanitizer.go index 63ead6df..39dcff66 100644 --- a/pkg/markup/sanitizer.go +++ b/pkg/markup/sanitizer.go @@ -20,14 +20,15 @@ type Sanitizer struct { init sync.Once } -var sanitizer = &Sanitizer{} +var sanitizer = &Sanitizer{ + policy: bluemonday.UGCPolicy(), +} // NewSanitizer initializes sanitizer with allowed attributes based on settings. // Multiple calls to this function will only create one instance of Sanitizer during // entire application lifecycle. func NewSanitizer() { sanitizer.init.Do(func() { - sanitizer.policy = bluemonday.UGCPolicy() // We only want to allow HighlightJS specific classes for code blocks sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`^language-\w+$`)).OnElements("code") -- cgit v1.2.3