Merge branch 'ac/fuzzers'
Source file shuffling. * ac/fuzzers: fuzz: reorganise the path for existing oss-fuzz fuzzers
This commit is contained in:
3
oss-fuzz/.gitignore
vendored
Normal file
3
oss-fuzz/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
fuzz-commit-graph
|
||||
fuzz-pack-headers
|
||||
fuzz-pack-idx
|
27
oss-fuzz/fuzz-commit-graph.c
Normal file
27
oss-fuzz/fuzz-commit-graph.c
Normal 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;
|
||||
}
|
14
oss-fuzz/fuzz-pack-headers.c
Normal file
14
oss-fuzz/fuzz-pack-headers.c
Normal 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
13
oss-fuzz/fuzz-pack-idx.c
Normal 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;
|
||||
}
|
Reference in New Issue
Block a user