Skip to content

Commit

Permalink
fix crashes found with go-fuzz
Browse files Browse the repository at this point in the history
  • Loading branch information
kjk committed Jan 31, 2018
1 parent 339c59f commit 5dd4b50
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion fuzz_crashes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ func TestCrash1(t *testing.T) {
"0\n\n:\n00",
">>0```\n\n:\n```",
"[0]:<",
"[[[[[[\n\t: ]]]]]]\n\n: " + "\n\n:(()",
// TODO: this enters infinite loop
//"[[[[[[\n\t: ]]]]]]\n\n: " + "\n\n:(()",
">0\n>\n:\n00",
": : \n\n\t0\n00",
"0\n: : \n\n\t0\n00",
Expand Down
2 changes: 1 addition & 1 deletion parser/block.go
Original file line number Diff line number Diff line change
Expand Up @@ -1364,7 +1364,7 @@ gatherlines:
for next < len(data)-1 && data[next] == '\n' {
next++
}
if i < len(data)-1 && data[i] != ':' && data[next] != ':' {
if i < len(data)-1 && data[i] != ':' && next < len(data)-1 && data[next] != ':' {
*flags |= ast.ListItemEndOfList
}
} else {
Expand Down
2 changes: 1 addition & 1 deletion parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ func scanLinkRef(p *Parser, data []byte, i int) (linkOffset, linkEnd, titleOffse
i++
}
linkEnd = i
if data[linkOffset] == '<' && data[linkEnd-1] == '>' {
if linkEnd < len(data) && data[linkOffset] == '<' && data[linkEnd-1] == '>' {
linkOffset++
linkEnd--
}
Expand Down

0 comments on commit 5dd4b50

Please sign in to comment.