aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAdamKorcz2020-12-10 19:43:11 +0000
committerGitHub2020-12-10 20:43:11 +0100
commit94415f75174cba77a9b1cc7745d660e654170af0 (patch)
tree075314a26d0c13379e8e27fb3bb10b62864fc178 /tools
parent0c5fca2d8562e1cd49469b47a625f8f267dac3de (diff)
Added 2 fuzzers (#13818)
* Added fuzzer Signed-off-by: AdamKorcz <adam@adalogics.com> * Added better fuzzer names Signed-off-by: AdamKorcz <adam@adalogics.com> * Moved fuzzer to /tools * Update tools/fuzz.go Co-authored-by: 6543 <6543@obermui.de> * Update tools/fuzz.go * Update tools/fuzz.go Co-authored-by: silverwind <me@silverwind.io> * Added tools to Makefile Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'tools')
-rw-r--r--tools/fuzz.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/fuzz.go b/tools/fuzz.go
new file mode 100644
index 000000000..6ed1b4000
--- /dev/null
+++ b/tools/fuzz.go
@@ -0,0 +1,36 @@
+// Copyright 2020 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+// +build gofuzz
+
+package fuzz
+
+import (
+ "code.gitea.io/gitea/modules/markup"
+ "code.gitea.io/gitea/modules/markup/markdown"
+)
+
+// Contains fuzzing functions executed by
+// fuzzing engine https://github.com/dvyukov/go-fuzz
+//
+// The function must return 1 if the fuzzer should increase priority of the given input during subsequent fuzzing
+// (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",
+ }
+ _, err := markup.PostProcess(data, "https://example.com", localMetas, false)
+ if err != nil {
+ return 0
+ }
+ return 1
+}