Skip to content

Commit 3512c7e

Browse files
authored
Fix crash in short link processor (#13839)
Fixes #13819
1 parent c9effd5 commit 3512c7e

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

modules/markup/html.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -651,16 +651,18 @@ func shortLinkProcessorFull(ctx *postProcessCtx, node *html.Node, noLink bool) {
651651
// When parsing HTML, x/net/html will change all quotes which are
652652
// not used for syntax into UTF-8 quotes. So checking val[0] won't
653653
// be enough, since that only checks a single byte.
654-
if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) ||
655-
(strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) {
656-
const lenQuote = len("‘")
657-
val = val[lenQuote : len(val)-lenQuote]
658-
} else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
659-
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
660-
val = val[1 : len(val)-1]
661-
} else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") {
662-
const lenQuote = len("‘")
663-
val = val[1 : len(val)-lenQuote]
654+
if len(val) > 1 {
655+
if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) ||
656+
(strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) {
657+
const lenQuote = len("‘")
658+
val = val[lenQuote : len(val)-lenQuote]
659+
} else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
660+
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
661+
val = val[1 : len(val)-1]
662+
} else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") {
663+
const lenQuote = len("‘")
664+
val = val[1 : len(val)-lenQuote]
665+
}
664666
}
665667
props[key] = val
666668
}

0 commit comments

Comments
 (0)