Fuzz introspector: fuzz_object_store
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
19 59 dulwich.objects.S_ISGITLINK call site: {node_id} dulwich.patch.unified_diff
13 45 dulwich.patch.write_tree_diff call site: {node_id} dulwich.patch.write_object_diff
12 32 ...dulwich.fuzzing.fuzz-targets.fuzz_object_store.TestOneInput call site: {node_id} dulwich.patch.write_tree_diff
2 0 EP call site: {node_id} dulwich.repo.MemoryRepo.__init__
2 10 dulwich.config.ConfigFile.__init__ call site: {node_id} dulwich.objects.ShaFile.from_string

Fuzzer calltree

0 ...dulwich.fuzzing.fuzz-targets.fuzz_object_store.TestOneInput [function] [call site] 00000
1 test_utils.EnhancedFuzzedDataProvider [function] [call site] 00001
1 dulwich.repo.MemoryRepo.__init__ [function] [call site] 00002
2 dulwich.refs.DictRefsContainer.__init__ [function] [call site] 00003
3 <builtin>.super [function] [call site] 00004
3 <builtin>.set [function] [call site] 00005
2 dulwich.object_store.MemoryObjectStore.__init__ [function] [call site] 00006
3 <builtin>.super [function] [call site] 00007
2 dulwich.repo.BaseRepo.__init__ [function] [call site] 00008
2 dulwich.config.ConfigFile.__init__ [function] [call site] 00009
3 <builtin>.super [function] [call site] 00010
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00011
1 dulwich.objects.ShaFile.from_string [function] [call site] 00012
2 dulwich.objects.ShaFile.__init__ [function] [call site] 00013
2 obj.set_raw_string [function] [call site] 00014
1 dulwich.objects.Tree.__init__ [function] [call site] 00015
2 <builtin>.super [function] [call site] 00016
1 dulwich.objects.Tree.add [function] [call site] 00017
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00018
1 test_utils.EnhancedFuzzedDataProvider.PickValueInList [function] [call site] 00019
1 dulwich.objects.Commit.__init__ [function] [call site] 00020
2 <builtin>.super [function] [call site] 00021
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00022
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00023
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00024
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00025
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00026
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00027
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00028
1 object_store.add_object [function] [call site] 00029
1 object_store.add_object [function] [call site] 00030
1 object_store.add_object [function] [call site] 00031
1 test_utils.is_expected_exception [function] [call site] 00032
1 dulwich.objects.Commit.__init__ [function] [call site] 00033
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00034
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00035
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00036
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomInt [function] [call site] 00037
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00038
1 test_utils.EnhancedFuzzedDataProvider.ConsumeRandomBytes [function] [call site] 00039
1 repo.object_store.add_object [function] [call site] 00040
1 repo.object_store.add_object [function] [call site] 00041
1 repo.object_store.add_object [function] [call site] 00042
1 io.BytesIO [function] [call site] 00043
1 dulwich.patch.write_tree_diff [function] [call site] 00044
2 store.tree_changes [function] [call site] 00045
2 dulwich.patch.write_object_diff [function] [call site] 00046
3 dulwich.patch.patch_filename [function] [call site] 00047
3 dulwich.patch.patch_filename [function] [call site] 00048
3 sys.stdout.buffer.writelines [function] [call site] 00049
3 io.BytesIO.writelines [function] [call site] 00050
3 dulwich.patch.gen_diff_header [function] [call site] 00051
4 dulwich.patch.patch_filename [function] [call site] 00052
4 dulwich.patch.patch_filename [function] [call site] 00053
4 dulwich.patch.shortid [function] [call site] 00054
4 dulwich.patch.shortid [function] [call site] 00055
3 dulwich.patch.write_object_diff.content [function] [call site] 00056
4 dulwich.objects.ShaFile.from_string [function] [call site] 00057
4 dulwich.objects.S_ISGITLINK [function] [call site] 00058
5 stat.S_IFMT [function] [call site] 00059
4 dulwich.objects.ShaFile.from_string [function] [call site] 00060
3 dulwich.patch.write_object_diff.content [function] [call site] 00061
3 dulwich.patch.is_binary [function] [call site] 00062
3 dulwich.patch.is_binary [function] [call site] 00063
3 io.BytesIO.write [function] [call site] 00064
3 sys.stdout.buffer.write [function] [call site] 00065
3 sys.stdout.buffer.writelines [function] [call site] 00066
3 io.BytesIO.writelines [function] [call site] 00067
3 dulwich.patch.unified_diff [function] [call site] 00068
4 difflib.SequenceMatcher [function] [call site] 00069
4 difflib.SequenceMatcher.get_grouped_opcodes [function] [call site] 00070
4 fromfile.decode [function] [call site] 00071
4 tofile.decode [function] [call site] 00072
4 dulwich.patch._format_range_unified [function] [call site] 00073
4 dulwich.patch._format_range_unified [function] [call site] 00074
3 dulwich.patch.write_object_diff.lines [function] [call site] 00075
4 content.splitlines [function] [call site] 00076
3 dulwich.patch.write_object_diff.lines [function] [call site] 00077
1 test_utils.is_expected_exception [function] [call site] 00078