Merge branch 'ac/fuzzers'

Source file shuffling.

* ac/fuzzers:
  fuzz: reorganise the path for existing oss-fuzz fuzzers
This commit is contained in:
Junio C Hamano
2022-10-07 17:19:59 -07:00
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,27 @@
#include "commit-graph.h"
#include "repository.h"
struct commit_graph *parse_commit_graph(struct repo_settings *s,
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();
/*
* Initialize the_repository with commit-graph settings that would
* normally be read from the repository's gitdir. We want to avoid
* touching the disk to keep the individual fuzz-test cases as fast as
* possible.
*/
the_repository->settings.commit_graph_generation_version = 2;
the_repository->settings.commit_graph_read_changed_paths = 1;
g = parse_commit_graph(&the_repository->settings, (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;
}