Browse Source

Fix crash in short link processor (#13839)

Fixes #13819
tags/v1.15.0-dev
mrsdizzie 4 years ago committed by GitHub
parent
commit
3512c7e40f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      modules/markup/html.go

22
modules/markup/html.go

@ -651,16 +651,18 @@ func shortLinkProcessorFull(ctx *postProcessCtx, node *html.Node, noLink bool) {
// When parsing HTML, x/net/html will change all quotes which are // When parsing HTML, x/net/html will change all quotes which are
// not used for syntax into UTF-8 quotes. So checking val[0] won't // not used for syntax into UTF-8 quotes. So checking val[0] won't
// be enough, since that only checks a single byte. // be enough, since that only checks a single byte.
if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) || if len(val) > 1 {
(strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) { if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) ||
const lenQuote = len("‘") (strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) {
val = val[lenQuote : len(val)-lenQuote] const lenQuote = len("‘")
} else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) || val = val[lenQuote : len(val)-lenQuote]
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) { } else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
val = val[1 : len(val)-1] (strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
} else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") { val = val[1 : len(val)-1]
const lenQuote = len("‘") } else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") {
val = val[1 : len(val)-lenQuote] const lenQuote = len("‘")
val = val[1 : len(val)-lenQuote]
}
} }
props[key] = val props[key] = val
} }

Loading…
Cancel
Save