From bee8ce342f3b6f70f6f1d54c3bf2e866f7adbb13 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Fri, 23 Apr 2021 10:22:52 +0200 Subject: [PATCH] Fix go-fuzz (#15596) * Fix go-fuzz followup of https://github.com/go-gitea/gitea/pull/15175 * simplify * enhance --- tools/fuzz.go | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/tools/fuzz.go b/tools/fuzz.go index 6ed1b4000..4b5b72d1d 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 }