From 6713bfc70c4dc6da1fa4084f000b72f5d74fecfb Mon Sep 17 00:00:00 2001 From: Arthur Chan Date: Mon, 19 Sep 2022 14:36:54 +0000 Subject: 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 Signed-off-by: Junio C Hamano --- .gitignore | 3 --- Makefile | 6 +++--- fuzz-commit-graph.c | 19 ------------------- fuzz-pack-headers.c | 14 -------------- fuzz-pack-idx.c | 13 ------------- oss-fuzz/.gitignore | 3 +++ oss-fuzz/fuzz-commit-graph.c | 19 +++++++++++++++++++ oss-fuzz/fuzz-pack-headers.c | 14 ++++++++++++++ oss-fuzz/fuzz-pack-idx.c | 13 +++++++++++++ 9 files changed, 52 insertions(+), 52 deletions(-) delete mode 100644 fuzz-commit-graph.c delete mode 100644 fuzz-pack-headers.c delete mode 100644 fuzz-pack-idx.c create mode 100644 oss-fuzz/.gitignore create mode 100644 oss-fuzz/fuzz-commit-graph.c create mode 100644 oss-fuzz/fuzz-pack-headers.c create mode 100644 oss-fuzz/fuzz-pack-idx.c diff --git a/.gitignore b/.gitignore index a452215764..73df729579 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ -/fuzz-commit-graph /fuzz_corpora -/fuzz-pack-headers -/fuzz-pack-idx /GIT-BUILD-OPTIONS /GIT-CFLAGS /GIT-LDFLAGS diff --git a/Makefile b/Makefile index 17fdb16dd8..88178c5b46 100644 --- a/Makefile +++ b/Makefile @@ -681,9 +681,9 @@ SCRIPTS = $(SCRIPT_SH_GEN) \ ETAGS_TARGET = TAGS -FUZZ_OBJS += fuzz-commit-graph.o -FUZZ_OBJS += fuzz-pack-headers.o -FUZZ_OBJS += fuzz-pack-idx.o +FUZZ_OBJS += oss-fuzz/fuzz-commit-graph.o +FUZZ_OBJS += oss-fuzz/fuzz-pack-headers.o +FUZZ_OBJS += oss-fuzz/fuzz-pack-idx.o .PHONY: fuzz-objs fuzz-objs: $(FUZZ_OBJS) diff --git a/fuzz-commit-graph.c b/fuzz-commit-graph.c deleted file mode 100644 index e7cf6d5b0f..0000000000 --- a/fuzz-commit-graph.c +++ /dev/null @@ -1,19 +0,0 @@ -#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/fuzz-pack-headers.c b/fuzz-pack-headers.c deleted file mode 100644 index 99da1d0fd3..0000000000 --- a/fuzz-pack-headers.c +++ /dev/null @@ -1,14 +0,0 @@ -#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/fuzz-pack-idx.c b/fuzz-pack-idx.c deleted file mode 100644 index 0c3d777aac..0000000000 --- a/fuzz-pack-idx.c +++ /dev/null @@ -1,13 +0,0 @@ -#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; -} 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; +} -- cgit v1.3