mirror of https://github.com/go-gitea/gitea
Rewrite fuzzers to native Go harnesses (#22313)
parent
f41ad344cb
commit
906d8cc5dc
@ -1,50 +0,0 @@ |
|||||||
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
//go:build gofuzz
|
|
||||||
|
|
||||||
package fuzz |
|
||||||
|
|
||||||
import ( |
|
||||||
"bytes" |
|
||||||
"context" |
|
||||||
"io" |
|
||||||
|
|
||||||
"code.gitea.io/gitea/modules/markup" |
|
||||||
"code.gitea.io/gitea/modules/markup/markdown" |
|
||||||
"code.gitea.io/gitea/modules/setting" |
|
||||||
) |
|
||||||
|
|
||||||
// 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.
|
|
||||||
|
|
||||||
var renderContext = markup.RenderContext{ |
|
||||||
Ctx: context.Background(), |
|
||||||
URLPrefix: "https://example.com/go-gitea/gitea", |
|
||||||
Metas: map[string]string{ |
|
||||||
"user": "go-gitea", |
|
||||||
"repo": "gitea", |
|
||||||
}, |
|
||||||
} |
|
||||||
|
|
||||||
func FuzzMarkdownRenderRaw(data []byte) int { |
|
||||||
setting.AppURL = "http://localhost:3000/" |
|
||||||
err := markdown.RenderRaw(&renderContext, bytes.NewReader(data), io.Discard) |
|
||||||
if err != nil { |
|
||||||
return 0 |
|
||||||
} |
|
||||||
return 1 |
|
||||||
} |
|
||||||
|
|
||||||
func FuzzMarkupPostProcess(data []byte) int { |
|
||||||
setting.AppURL = "http://localhost:3000/" |
|
||||||
err := markup.PostProcess(&renderContext, bytes.NewReader(data), io.Discard) |
|
||||||
if err != nil { |
|
||||||
return 0 |
|
||||||
} |
|
||||||
return 1 |
|
||||||
} |
|
@ -0,0 +1,38 @@ |
|||||||
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"bytes" |
||||||
|
"context" |
||||||
|
"io" |
||||||
|
"testing" |
||||||
|
|
||||||
|
"code.gitea.io/gitea/modules/markup" |
||||||
|
"code.gitea.io/gitea/modules/markup/markdown" |
||||||
|
"code.gitea.io/gitea/modules/setting" |
||||||
|
) |
||||||
|
|
||||||
|
var renderContext = markup.RenderContext{ |
||||||
|
Ctx: context.Background(), |
||||||
|
URLPrefix: "https://example.com/go-gitea/gitea", |
||||||
|
Metas: map[string]string{ |
||||||
|
"user": "go-gitea", |
||||||
|
"repo": "gitea", |
||||||
|
}, |
||||||
|
} |
||||||
|
|
||||||
|
func FuzzMarkdownRenderRaw(f *testing.F) { |
||||||
|
f.Fuzz(func(t *testing.T, data []byte) { |
||||||
|
setting.AppURL = "http://localhost:3000/" |
||||||
|
markdown.RenderRaw(&renderContext, bytes.NewReader(data), io.Discard) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
func FuzzMarkupPostProcess(f *testing.F) { |
||||||
|
f.Fuzz(func(t *testing.T, data []byte) { |
||||||
|
setting.AppURL = "http://localhost:3000/" |
||||||
|
markup.PostProcess(&renderContext, bytes.NewReader(data), io.Discard) |
||||||
|
}) |
||||||
|
} |
Loading…
Reference in new issue