diff --git a/html.go b/html.go
index cb4f26e3..8b99a691 100644
--- a/html.go
+++ b/html.go
@@ -18,6 +18,7 @@ package blackfriday
import (
"bytes"
"fmt"
+ "html"
"io"
"regexp"
"strings"
@@ -327,7 +328,7 @@ func appendLanguageAttr(attrs []string, info []byte) []string {
if endOfLang < 0 {
endOfLang = len(info)
}
- return append(attrs, fmt.Sprintf("class=\"language-%s\"", info[:endOfLang]))
+ return append(attrs, fmt.Sprintf("class=\"language-%s\"", html.EscapeString(string(info[:endOfLang]))))
}
func (r *HTMLRenderer) tag(w io.Writer, name []byte, attrs []string) {
@@ -676,7 +677,7 @@ func (r *HTMLRenderer) RenderNode(w io.Writer, node *Node, entering bool) WalkSt
if r.HeadingIDSuffix != "" {
id = id + r.HeadingIDSuffix
}
- attrs = append(attrs, fmt.Sprintf(`id="%s"`, id))
+ attrs = append(attrs, fmt.Sprintf(`id="%s"`, html.EscapeString(id)))
}
r.cr(w)
r.tag(w, openTag, attrs)