From eba2396010aa991cd8b5fafb22aa0b5354490de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Courtel?= <14078835+recrtl@users.noreply.github.com> Date: Fri, 5 May 2023 12:40:23 +0200 Subject: [PATCH] fix 305: external images URLs are not properly escaped --- pkg/mark/markdown.go | 5 ++++- pkg/mark/testdata/links.html | 2 +- pkg/mark/testdata/links.md | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/mark/markdown.go b/pkg/mark/markdown.go index c0da166..7119396 100644 --- a/pkg/mark/markdown.go +++ b/pkg/mark/markdown.go @@ -482,6 +482,9 @@ func (r *ConfluenceRenderer) renderImage(writer util.BufWriter, source []byte, n // We were unable to resolve it locally, treat as URL if err != nil { + escapedURL := string(n.Destination) + escapedURL = strings.ReplaceAll(escapedURL, "&", "&") + err = r.Stdlib.Templates.ExecuteTemplate( writer, "ac:image", @@ -498,7 +501,7 @@ func (r *ConfluenceRenderer) renderImage(writer util.BufWriter, source []byte, n string(n.Title), string(nodeToHTMLText(n, source)), "", - string(n.Destination), + escapedURL, }, ) } else { diff --git a/pkg/mark/testdata/links.html b/pkg/mark/testdata/links.html index 743676d..82fd040 100644 --- a/pkg/mark/testdata/links.html +++ b/pkg/mark/testdata/links.html @@ -5,7 +5,7 @@
Use
Use
Use footnotes link 1