fuzz: reorganise the path for existing oss-fuzz fuzzers

In order to provide a better organisation for oss-fuzz fuzzers and
to avoid top-level clustters in the git repository when more fuzzers
are introduced, move the existing fuzzer-related sources to their
own oss-fuzz/ hierarchy.  Grouping the fuzzers into their own
directory, separate their application on fuzz-testing from the core
functionalities of the git code, prvides better and tidier structure
the oss-fuzz fuzzing library to manage, locate, build and execute
those fuzzers for fuzz-testing purposes in future development.

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Arthur Chan
2022-09-19 14:36:54 +00:00
committed by Junio C Hamano
parent a0feb8611d
commit 6713bfc70c
6 changed files with 6 additions and 6 deletions

3
oss-fuzz/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
fuzz-commit-graph
fuzz-pack-headers
fuzz-pack-idx

View File

@ -0,0 +1,19 @@
#include "commit-graph.h"
#include "repository.h"
struct commit_graph *parse_commit_graph(struct repository *r,
void *graph_map, size_t graph_size);
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
struct commit_graph *g;
initialize_the_repository();
g = parse_commit_graph(the_repository, (void *)data, size);
repo_clear(the_repository);
free_commit_graph(g);
return 0;
}

View File

@ -0,0 +1,14 @@
#include "packfile.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
enum object_type type;
unsigned long len;
unpack_object_header_buffer((const unsigned char *)data,
(unsigned long)size, &type, &len);
return 0;
}

13
oss-fuzz/fuzz-pack-idx.c Normal file
View File

@ -0,0 +1,13 @@
#include "object-store.h"
#include "packfile.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
struct packed_git p;
load_idx("fuzz-input", GIT_SHA1_RAWSZ, (void *)data, size, &p);
return 0;
}