Fix ExplicitLineBreak parsing
fuzzed index out of range and moved range check into for condition as \\ followed by spaces at the end of the inline text should not be turned into an ExplicitLineBreak (just like \\ not followed by spaces).
This commit is contained in:
parent
14900e97e2
commit
4292628c80
4 changed files with 18 additions and 4 deletions
|
@ -147,8 +147,8 @@ func (d *Document) parseExplicitLineBreakOrLatexFragment(input string, start int
|
|||
switch {
|
||||
case start+2 >= len(input):
|
||||
case input[start+1] == '\\' && start != 0 && input[start-1] != '\n':
|
||||
for i := start + 2; unicode.IsSpace(rune(input[i])); i++ {
|
||||
if i >= len(input) || input[i] == '\n' {
|
||||
for i := start + 2; i <= len(input)-1 && unicode.IsSpace(rune(input[i])); i++ {
|
||||
if input[i] == '\n' {
|
||||
return i + 1 - start, ExplicitLineBreak{}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue