diff options
author | Arthur Chan <arthur.chan@adalogics.com> | 2022-09-19 16:36:54 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-09-19 18:34:35 +0200 |
commit | 6713bfc70c4dc6da1fa4084f000b72f5d74fecfb (patch) | |
tree | fa07f323482bdaa28d863165b99c6fb25c7f136b /oss-fuzz | |
parent | Merge a handful of topics from the 'master' front (diff) | |
download | git-6713bfc70c4dc6da1fa4084f000b72f5d74fecfb.tar.xz git-6713bfc70c4dc6da1fa4084f000b72f5d74fecfb.zip |
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>
Diffstat (limited to 'oss-fuzz')
-rw-r--r-- | oss-fuzz/.gitignore | 3 | ||||
-rw-r--r-- | oss-fuzz/fuzz-commit-graph.c | 19 | ||||
-rw-r--r-- | oss-fuzz/fuzz-pack-headers.c | 14 | ||||
-rw-r--r-- | oss-fuzz/fuzz-pack-idx.c | 13 |
4 files changed, 49 insertions, 0 deletions
diff --git a/oss-fuzz/.gitignore b/oss-fuzz/.gitignore new file mode 100644 index 0000000000..9acb74412e --- /dev/null +++ b/oss-fuzz/.gitignore @@ -0,0 +1,3 @@ +fuzz-commit-graph +fuzz-pack-headers +fuzz-pack-idx diff --git a/oss-fuzz/fuzz-commit-graph.c b/oss-fuzz/fuzz-commit-graph.c new file mode 100644 index 0000000000..e7cf6d5b0f --- /dev/null +++ b/oss-fuzz/fuzz-commit-graph.c @@ -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; +} diff --git a/oss-fuzz/fuzz-pack-headers.c b/oss-fuzz/fuzz-pack-headers.c new file mode 100644 index 0000000000..99da1d0fd3 --- /dev/null +++ b/oss-fuzz/fuzz-pack-headers.c @@ -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; +} diff --git a/oss-fuzz/fuzz-pack-idx.c b/oss-fuzz/fuzz-pack-idx.c new file mode 100644 index 0000000000..0c3d777aac --- /dev/null +++ b/oss-fuzz/fuzz-pack-idx.c @@ -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; +} |