Skip to content

Commit 798fdea

Browse files
authored
Fix crash in short link processor (#13839) (#13841)
Fixes #13819
1 parent 87997cc commit 798fdea

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
@@ -632,16 +632,18 @@ func shortLinkProcessorFull(ctx *postProcessCtx, node *html.Node, noLink bool) {
632632
// When parsing HTML, x/net/html will change all quotes which are
633633
// not used for syntax into UTF-8 quotes. So checking val[0] won't
634634
// be enough, since that only checks a single byte.
635-
if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) ||
636-
(strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) {
637-
const lenQuote = len("‘")
638-
val = val[lenQuote : len(val)-lenQuote]
639-
} else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
640-
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
641-
val = val[1 : len(val)-1]
642-
} else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") {
643-
const lenQuote = len("‘")
644-
val = val[1 : len(val)-lenQuote]
635+
if len(val) > 1 {
636+
if (strings.HasPrefix(val, "“") && strings.HasSuffix(val, "”")) ||
637+
(strings.HasPrefix(val, "‘") && strings.HasSuffix(val, "’")) {
638+
const lenQuote = len("‘")
639+
val = val[lenQuote : len(val)-lenQuote]
640+
} else if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
641+
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
642+
val = val[1 : len(val)-1]
643+
} else if strings.HasPrefix(val, "'") && strings.HasSuffix(val, "’") {
644+
const lenQuote = len("‘")
645+
val = val[1 : len(val)-lenQuote]
646+
}
645647
}
646648
props[key] = val
647649
}

0 commit comments

Comments
 (0)