diff options
author | AdamKorcz | 2020-12-10 19:43:11 +0000 |
---|---|---|
committer | GitHub | 2020-12-10 20:43:11 +0100 |
commit | 94415f75174cba77a9b1cc7745d660e654170af0 (patch) | |
tree | 075314a26d0c13379e8e27fb3bb10b62864fc178 /tools | |
parent | 0c5fca2d8562e1cd49469b47a625f8f267dac3de (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.go | 36 |
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 +} |