diff options
author | lhchavez <lhchavez@lhchavez.com> | 2021-01-04 19:33:48 -0800 |
---|---|---|
committer | lhchavez <lhchavez@lhchavez.com> | 2021-01-10 11:18:38 -0800 |
commit | 1f32ed25ee6f5ead60fff8cf5ba544ef2d567fe0 (patch) | |
tree | 022d028c78040098dd940aab13f469dbede00741 /fuzzers | |
parent | 3fd57a75e9dd0c4b0e40ee6e21568d40bd70d29b (diff) | |
download | libgit2-1f32ed25ee6f5ead60fff8cf5ba544ef2d567fe0.tar.gz |
commit-graph: Support lookups of entries in a commit-graph
This change introduces `git_commit_graph_entry_find()` and
`git_commit_graph_entry_parent()`. These two functions allow a much
faster lookup of commits by ID, since the ODB does not need to be
consulted, the commit object does not need to be inflated, and the
contents of the commit object do not need to be parsed.
Part of: #5757
Diffstat (limited to 'fuzzers')
-rw-r--r-- | fuzzers/commit_graph_fuzzer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fuzzers/commit_graph_fuzzer.c b/fuzzers/commit_graph_fuzzer.c index f5b9c8988..eb2c38258 100644 --- a/fuzzers/commit_graph_fuzzer.c +++ b/fuzzers/commit_graph_fuzzer.c @@ -32,6 +32,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { git_commit_graph_file cgraph = {{0}}; + git_commit_graph_entry e; git_buf commit_graph_buf = GIT_BUF_INIT; git_oid oid = {{0}}; bool append_hash = false; @@ -68,6 +69,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) < 0) goto cleanup; + /* Search for any oid, just to exercise that codepath. */ + if (git_commit_graph_entry_find(&e, &cgraph, &oid, GIT_OID_HEXSZ) < 0) + goto cleanup; + cleanup: git_commit_graph_close(&cgraph); git_buf_dispose(&commit_graph_buf); |