Fix crash in short link processor (#13839)

Fixes #13819
This commit is contained in:
mrsdizzie 2020-12-03 21:01:42 -05:00 committed by GitHub
parent c9effd5364
commit 3512c7e40f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 10 deletions

View File

@ -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
} }