summaryrefslogtreecommitdiff
path: root/fuzzers
diff options
context:
space:
mode:
authorlhchavez <lhchavez@lhchavez.com>2021-01-04 19:33:48 -0800
committerlhchavez <lhchavez@lhchavez.com>2021-01-10 11:18:38 -0800
commit1f32ed25ee6f5ead60fff8cf5ba544ef2d567fe0 (patch)
tree022d028c78040098dd940aab13f469dbede00741 /fuzzers
parent3fd57a75e9dd0c4b0e40ee6e21568d40bd70d29b (diff)
downloadlibgit2-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.c5
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);