mirror of
https://github.com/miniflux/v2.git
synced 2025-06-27 16:36:00 +00:00
feat(sanitizer): validate MathML XML namespace
This commit is contained in:
parent
21d22d7f0b
commit
d53fd17e10
2 changed files with 14 additions and 0 deletions
|
@ -234,6 +234,10 @@ func sanitizeAttributes(baseURL, tagName string, attributes []html.Attribute, sa
|
|||
continue
|
||||
}
|
||||
|
||||
if tagName == "math" && attribute.Key == "xmlns" && value != "http://www.w3.org/1998/Math/MathML" {
|
||||
value = "http://www.w3.org/1998/Math/MathML"
|
||||
}
|
||||
|
||||
if tagName == "img" && attribute.Key == "fetchpriority" {
|
||||
if !isValidFetchPriorityValue(value) {
|
||||
continue
|
||||
|
|
|
@ -829,3 +829,13 @@ func TestMathML(t *testing.T) {
|
|||
t.Errorf(`Wrong output: "%s" != "%s"`, expected, output)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInvalidMathMLXMLNamespace(t *testing.T) {
|
||||
input := `<math xmlns="http://example.org"><msup><mi>x</mi><mn>2</mn></msup></math>`
|
||||
expected := `<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>x</mi><mn>2</mn></msup></math>`
|
||||
output := SanitizeHTMLWithDefaultOptions("http://example.org/", input)
|
||||
|
||||
if expected != output {
|
||||
t.Errorf(`Wrong output: "%s" != "%s"`, expected, output)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue