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 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
 	}