fix: refuse to render non-string Markdown field values (via #5295)

This commit is contained in:
kyle
2019-04-10 16:04:33 -07:00
committed by GitHub
parent f50bbecc38
commit 1dd87ce26e
2 changed files with 8 additions and 0 deletions

View File

@@ -19,6 +19,10 @@ DomPurify.addHook("beforeSanitizeElements", function (current, ) {
const isPlainText = (str) => /^[A-Z\s0-9!?\.]+$/gi.test(str)
function Markdown({ source, className = "" }) {
if (typeof source !== "string") {
return null
}
if(isPlainText(source)) {
// If the source text is not Markdown,
// let's save some time and just render it.

View File

@@ -10,6 +10,10 @@ parser.block.ruler.enable(["table"])
parser.set({ linkTarget: "_blank" })
export const Markdown = ({ source, className = "" }) => {
if(typeof source !== "string") {
return null
}
if ( source ) {
const html = parser.render(source)
const sanitized = sanitizer(html)