From 4990b9d86b825aa57a182c5c1a355c6b58cb7045 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 14 Jul 2020 10:19:04 +0000 Subject: [PATCH] [fix] fix self closing tag token Close #57 git-svn-id: file:///srv/svn/repo/yukari/trunk@116 f3bd38d9-da89-464d-a02a-eb04e43141b5 --- morty.go | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/morty.go b/morty.go index 0790926..a16edd9 100644 --- a/morty.go +++ b/morty.go @@ -145,24 +145,6 @@ var SAFE_ATTRIBUTES [][]byte = [][]byte{ []byte("width"), } -var SELF_CLOSING_ELEMENTS [][]byte = [][]byte{ - []byte("area"), - []byte("base"), - []byte("br"), - []byte("col"), - []byte("embed"), - []byte("hr"), - []byte("img"), - []byte("input"), - []byte("keygen"), - []byte("link"), - []byte("meta"), - []byte("param"), - []byte("source"), - []byte("track"), - []byte("wbr"), -} - var LINK_REL_SAFE_VALUES [][]byte = [][]byte{ []byte("alternate"), []byte("archives"), @@ -553,7 +535,7 @@ func sanitizeHTML(rc *RequestConfig, out io.Writer, htmlDoc []byte) { tag, hasAttrs := decoder.TagName() safe := !inArray(tag, UNSAFE_ELEMENTS) if !safe { - if !inArray(tag, SELF_CLOSING_ELEMENTS) { + if token != html.SelfClosingTagToken { var unsafeTag []byte = make([]byte, len(tag)) copy(unsafeTag, tag) unsafeElements = append(unsafeElements, unsafeTag) @@ -678,7 +660,7 @@ func sanitizeHTML(rc *RequestConfig, out io.Writer, htmlDoc []byte) { } } else { switch token { - case html.StartTagToken: + case html.StartTagToken, html.SelfClosingTagToken: tag, _ := decoder.TagName() if inArray(tag, UNSAFE_ELEMENTS) { unsafeElements = append(unsafeElements, tag)