diff --git a/tools/fuzz.go b/tools/fuzz.go index 6ed1b40003..4b5b72d1d0 100644 --- a/tools/fuzz.go +++ b/tools/fuzz.go @@ -7,6 +7,9 @@ package fuzz import ( + "bytes" + "io" + "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/markup/markdown" ) @@ -18,17 +21,26 @@ import ( // (for example, the input is lexically correct and was parsed successfully). // -1 if the input must not be added to corpus even if gives new coverage and 0 otherwise. -func FuzzMarkdownRenderRaw(data []byte) int { - _ = markdown.RenderRaw(data, "", false) - return 1 -} - -func FuzzMarkupPostProcess(data []byte) int { - var localMetas = map[string]string{ - "user": "go-gitea", - "repo": "gitea", +var ( + renderContext = markup.RenderContext{ + URLPrefix: "https://example.com", + Metas: map[string]string{ + "user": "go-gitea", + "repo": "gitea", + }, } - _, err := markup.PostProcess(data, "https://example.com", localMetas, false) +) + +func FuzzMarkdownRenderRaw(data []byte) int { + err := markdown.RenderRaw(&renderContext, bytes.NewReader(data), io.Discard) + if err != nil { + return 0 + } + return 1 +} + +func FuzzMarkupPostProcess(data []byte) int { + err := markup.PostProcess(&renderContext, bytes.NewReader(data), io.Discard) if err != nil { return 0 }