@@ -651,16 +651,18 @@ func shortLinkProcessorFull(ctx *postProcessCtx, node *html.Node, noLink bool) {
651
651
// When parsing HTML, x/net/html will change all quotes which are
652
652
// not used for syntax into UTF-8 quotes. So checking val[0] won't
653
653
// 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
+ }
664
666
}
665
667
props [key ] = val
666
668
}
0 commit comments