From aa658574bfcbe03f5703458ac10be1ef3f5f5472 Mon Sep 17 00:00:00 2001 From: Josh Steadmon Date: Tue, 15 Jan 2019 14:25:50 -0800 Subject: commit-graph, fuzz: add fuzzer for commit-graph Break load_commit_graph_one() into a new function, parse_commit_graph(). The latter function operates on arbitrary buffers, which makes it suitable as a fuzzing target. Since parse_commit_graph() is only called by load_commit_graph_one() (and the fuzzer described below), we omit error messages that would be duplicated by the caller. Adds fuzz-commit-graph.c, which provides a fuzzing entry point compatible with libFuzzer (and possibly other fuzzing engines). Signed-off-by: Josh Steadmon Signed-off-by: Junio C Hamano --- fuzz-commit-graph.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 fuzz-commit-graph.c (limited to 'fuzz-commit-graph.c') diff --git a/fuzz-commit-graph.c b/fuzz-commit-graph.c new file mode 100644 index 0000000000..cf790c9d04 --- /dev/null +++ b/fuzz-commit-graph.c @@ -0,0 +1,16 @@ +#include "commit-graph.h" + +struct commit_graph *parse_commit_graph(void *graph_map, int fd, + 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; + + g = parse_commit_graph((void *)data, -1, size); + free(g); + + return 0; +} -- cgit v1.2.3