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

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: fuzz_parser

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 9239 89.1%
gold [1:9] 185 1.78%
yellow [10:29] 31 0.29%
greenyellow [30:49] 1 0.00%
lawngreen 50+ 909 8.76%
All colors 10365 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3791 1385 new_head_cell call site: 01385 makeOrderedSetArgs
436 5994 makeJsonIsPredicate call site: 05994 makeRangeVarFromQualifiedName
234 1134 list_concat call site: 01134 parsePartitionStrategy
170 9715 _outGroupingSet call site: 09715 _outNode
151 849 list_make2_impl call site: 00849 processCASbits
130 8658 _outIntoClause call site: 08658 _outNode
127 7829 _outCreateStmt call site: 07829 _outCreateUserMappingStmt
125 5177 makeRangeVar call site: 05177 makeRecursiveViewSelect
121 8375 _outCreateTableAsStmt call site: 08375 _outRefreshMatViewStmt
119 5621 makeGroupingSet call site: 05621 scanner_errposition
116 5877 makeBoolExpr call site: 05877 scanner_errposition
107 7717 _outConstraint call site: 07717 _outCreateTableSpaceStmt

Runtime coverage analysis

Covered functions
334
Functions that are reachable but not covered
958
Reachable functions
1260
Percentage of reachable functions covered
23.97%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
./test/fuzz/fuzz_parser.c 1
src/pg_query_parse.c 4
src/pg_query.c 6
src/postgres/src_backend_utils_mmgr_mcxt.c 24
src/postgres/src_backend_utils_mmgr_aset.c 2
src/postgres/src_backend_utils_mb_mbutils.c 16
src/postgres/src_common_wchar.c 4
src/postgres/src_port_snprintf.c 23
src/postgres/src_port_strerror.c 3
src/postgres/src_backend_utils_error_elog.c 27
./src/postgres/include/utils/palloc.h 1
src/postgres/src_common_stringinfo.c 9
src/postgres/src_common_psprintf.c 2
src/postgres/src_backend_storage_ipc_ipc.c 1
src/postgres/src_backend_tcop_postgres.c 1
src/postgres/src_backend_utils_error_assert.c 1
src/postgres/src_backend_utils_misc_stack_depth.c 2
src/postgres/src_backend_parser_parser.c 6
scan.l 17
scan.c 16
gram.y 43
gram.c 1
./src/postgres/include/port/pg_bitutils.h 3
src/postgres/src_common_kwlookup.c 1
./src/postgres/include/common/kwlookup.h 1
./src/postgres/include/mb/pg_wchar.h 5
src/postgres/src_backend_parser_scansup.c 4
src/postgres/src_backend_utils_adt_numutils.c 1
./src/postgres/include/common/int.h 1
src/postgres/src_backend_nodes_list.c 18
./src/postgres/include/nodes/nodes.h 1
./src/postgres/include/nodes/pg_list.h 5
src/postgres/src_backend_nodes_value.c 4
src/postgres/src_backend_nodes_makefuncs.c 19
src/postgres/src_backend_commands_define.c 1
src/postgres/src_backend_catalog_namespace.c 1
src/postgres/src_port_pgstrcasecmp.c 1
src/postgres/src_backend_nodes_copyfuncs.c 5
./src/postgres/include/copyfuncs.funcs.c 323
src/postgres/src_backend_nodes_bitmapset.c 3
src/postgres/src_backend_utils_adt_datum.c 3
./src/postgres/include/postgres.h 2
src/postgres/src_backend_utils_adt_expandeddatum.c 3
src/postgres/src_backend_nodes_extensible.c 1
src/postgres/src_backend_nodes_equalfuncs.c 6
./src/postgres/include/equalfuncs.funcs.c 270
src/postgres/src_backend_nodes_nodeFuncs.c 2
src/pg_query_outfuncs_json.c 11
./src/include/pg_query_outfuncs_defs.c 260
./src/include/pg_query_json_helper.c 2
./src/include/pg_query_enum_defs.c 65

Fuzzer: fuzz_plpgsql

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7667 86.0%
gold [1:9] 51 0.57%
yellow [10:29] 20 0.22%
greenyellow [30:49] 2 0.02%
lawngreen 50+ 1173 13.1%
All colors 8913 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1545 3630 _copyTypeName call site: 03630 makeOrderedSetArgs
830 2029 _copyTypeName call site: 02029 _copyColumnRef
759 2869 list_copy_deep call site: 02869 copyObjectImpl
418 1384 new_head_cell call site: 01384 TableFuncTypeName
307 8089 plpgsql_mark_local_assignment_targets call site: 08089 plpgsql_dumptree
290 6135 list_make3_impl call site: 06135 makeRangeVarFromQualifiedName
258 5876 makeBoolExpr call site: 05876 check_indirection
234 1133 list_concat call site: 01133 parsePartitionStrategy
218 7506 plpgsql_peek call site: 07506 read_cursor_args
183 1829 bms_copy call site: 01829 _copyAggref
176 5431 makeAlias call site: 05431 insertSelectOptions
151 848 list_make2_impl call site: 00848 processCASbits

Runtime coverage analysis

Covered functions
467
Functions that are reachable but not covered
746
Reachable functions
1168
Percentage of reachable functions covered
36.13%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
./test/fuzz/fuzz_plpgsql.c 1
src/pg_query_parse_plpgsql.c 10
src/pg_query.c 6
src/postgres/src_backend_utils_mmgr_mcxt.c 25
src/postgres/src_backend_utils_mmgr_aset.c 2
src/postgres/src_backend_utils_mb_mbutils.c 16
src/postgres/src_common_wchar.c 4
src/postgres/src_port_snprintf.c 23
src/postgres/src_port_strerror.c 3
src/postgres/src_backend_utils_error_elog.c 29
./src/postgres/include/utils/palloc.h 1
src/postgres/src_common_stringinfo.c 10
src/postgres/src_common_psprintf.c 2
src/postgres/src_backend_storage_ipc_ipc.c 1
src/postgres/src_backend_tcop_postgres.c 1
src/postgres/src_backend_utils_error_assert.c 1
src/postgres/src_backend_utils_misc_stack_depth.c 2
src/pg_query_parse.c 1
src/postgres/src_backend_parser_parser.c 6
scan.l 17
scan.c 16
gram.y 43
gram.c 1
./src/postgres/include/port/pg_bitutils.h 2
src/postgres/src_common_kwlookup.c 1
./src/postgres/include/common/kwlookup.h 1
./src/postgres/include/mb/pg_wchar.h 5
src/postgres/src_backend_parser_scansup.c 4
src/postgres/src_backend_utils_adt_numutils.c 1
./src/postgres/include/common/int.h 2
src/postgres/src_backend_nodes_list.c 19
./src/postgres/include/nodes/nodes.h 1
./src/postgres/include/nodes/pg_list.h 5
src/postgres/src_backend_nodes_value.c 4
src/postgres/src_backend_nodes_makefuncs.c 19
src/postgres/src_backend_commands_define.c 1
src/postgres/src_backend_catalog_namespace.c 8
src/postgres/src_port_pgstrcasecmp.c 1
src/postgres/src_backend_nodes_copyfuncs.c 5
./src/postgres/include/copyfuncs.funcs.c 323
src/postgres/src_backend_nodes_bitmapset.c 6
src/postgres/src_backend_utils_adt_datum.c 3
./src/postgres/include/postgres.h 14
src/postgres/src_backend_utils_adt_expandeddatum.c 3
src/postgres/src_backend_nodes_extensible.c 1
src/postgres/src_backend_nodes_equalfuncs.c 6
./src/postgres/include/equalfuncs.funcs.c 270
src/postgres/src_backend_nodes_nodeFuncs.c 3
src/postgres/src_backend_commands_functioncmds.c 1
src/postgres/src_backend_utils_adt_oid.c 1
src/postgres/src_backend_parser_parse_type.c 8
src/postgres/src_backend_parser_parse_node.c 3
src/postgres/src_backend_utils_cache_syscache.c 5
src/postgres/src_backend_catalog_catalog.c 2
./src/include/pg_query_pg_type.c 2
src/postgres/src_backend_utils_cache_lsyscache.c 9
src/postgres/src_port_strlcpy.c 1
./src/postgres/include/storage/itemptr.h 1
./src/postgres/include/storage/block.h 1
./src/postgres/include/access/htup_details.h 2
src/postgres/src_backend_utils_adt_format_type.c 3
src/postgres/src_backend_utils_adt_ruleutils.c 2
src/postgres/src_backend_utils_adt_varlena.c 3
src/postgres/src_backend_parser_parse_expr.c 1
src/postgres/src_backend_parser_parse_coerce.c 1
src/postgres/src_backend_parser_parse_collate.c 1
src/postgres/src_backend_optimizer_util_var.c 1
src/postgres/src_backend_utils_adt_arrayfuncs.c 8
src/postgres/src_backend_utils_adt_arrayutils.c 4
src/postgres/src_backend_utils_fmgr_fmgr.c 3
./src/postgres/include/access/tupmacs.h 2
src/postgres/src_backend_utils_adt_name.c 1
src/postgres/src_pl_plpgsql_src_pl_comp.c 24
src/postgres/src_pl_plpgsql_src_pl_scanner.c 15
src/postgres/src_backend_utils_adt_regproc.c 1
src/postgres/src_pl_plpgsql_src_pl_funcs.c 49
src/postgres/src_backend_utils_fmgr_funcapi.c 1
src/postgres/src_backend_utils_cache_funccache.c 1
src/postgres/src_backend_access_common_tupdesc.c 5
./src/postgres/include/access/tupdesc.h 1
pl_gram.c 1
pl_gram.y 29
src/pg_query_json_plpgsql.c 44
./src/include/pg_query_json_helper.c 2

Fuzzer: fuzz_protobuf

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 21812 90.8%
gold [1:9] 77 0.32%
yellow [10:29] 48 0.20%
greenyellow [30:49] 18 0.07%
lawngreen 50+ 2041 8.50%
All colors 23996 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3371 1805 check_stack_depth call site: 01805 makeOrderedSetArgs
1419 19663 _fingerprintCallStmt call site: 19663 _fingerprintFuncExpr
985 21539 _fingerprintRawStmt call site: 21539 _fingerprintJsonOutput
836 13537 deparseVariableSetStmt call site: 13537 deparseAlterDefaultPrivilegesStmt
805 14381 deparseClosePortalStmt call site: 14381 deparseCreateFunctionStmt
676 18915 _fingerprintIntoClause call site: 18915 _fingerprintQuery
549 5877 makeBoolExpr call site: 05877 makeRangeVarFromQualifiedName
419 1385 new_head_cell call site: 01385 TableFuncTypeName
370 16598 _fingerprintRangeFunction call site: 16598 _fingerprintRangeTableFunc
365 7635 _outVariableSetStmt call site: 07635 _outCreateStmt
350 8175 _outTransactionStmt call site: 08175 _outCompositeTypeStmt
317 9049 _outSelectStmt call site: 09049 _outSelectStmt

Runtime coverage analysis

Covered functions
679
Functions that are reachable but not covered
1781
Reachable functions
2358
Percentage of reachable functions covered
24.47%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
./test/fuzz/fuzz_protobuf.c 1
src/pg_query_parse.c 4
src/pg_query.c 6
src/postgres/src_backend_utils_mmgr_mcxt.c 26
src/postgres/src_backend_utils_mmgr_aset.c 2
src/postgres/src_backend_utils_mb_mbutils.c 16
src/postgres/src_common_wchar.c 4
src/postgres/src_port_snprintf.c 23
src/postgres/src_port_strerror.c 3
src/postgres/src_backend_utils_error_elog.c 27
./src/postgres/include/utils/palloc.h 1
src/postgres/src_common_stringinfo.c 11
src/postgres/src_common_psprintf.c 2
src/postgres/src_backend_storage_ipc_ipc.c 1
src/postgres/src_backend_tcop_postgres.c 1
src/postgres/src_backend_utils_error_assert.c 1
src/postgres/src_backend_utils_misc_stack_depth.c 2
src/postgres/src_backend_parser_parser.c 6
scan.l 17
scan.c 16
gram.y 43
gram.c 1
./src/postgres/include/port/pg_bitutils.h 6
src/postgres/src_common_kwlookup.c 1
./src/postgres/include/common/kwlookup.h 1
./src/postgres/include/mb/pg_wchar.h 5
src/postgres/src_backend_parser_scansup.c 4
src/postgres/src_backend_utils_adt_numutils.c 1
./src/postgres/include/common/int.h 1
src/postgres/src_backend_nodes_list.c 21
./src/postgres/include/nodes/nodes.h 1
./src/postgres/include/nodes/pg_list.h 9
src/postgres/src_backend_nodes_value.c 5
src/postgres/src_backend_nodes_makefuncs.c 19
src/postgres/src_backend_commands_define.c 1
src/postgres/src_backend_catalog_namespace.c 1
src/postgres/src_port_pgstrcasecmp.c 2
src/postgres/src_backend_nodes_copyfuncs.c 5
./src/postgres/include/copyfuncs.funcs.c 323
src/postgres/src_backend_nodes_bitmapset.c 8
src/postgres/src_backend_utils_adt_datum.c 3
./src/postgres/include/postgres.h 2
src/postgres/src_backend_utils_adt_expandeddatum.c 3
src/postgres/src_backend_nodes_extensible.c 1
src/postgres/src_backend_nodes_equalfuncs.c 6
./src/postgres/include/equalfuncs.funcs.c 270
src/postgres/src_backend_nodes_nodeFuncs.c 3
src/pg_query_outfuncs_protobuf.c 11
protobuf/pg_query.pb-c.c 279
./src/include/pg_query_outfuncs_defs.c 260
./src/include/pg_query_enum_defs.c 195
src/postgres/src_port_pg_bitutils.c 2
vendor/protobuf-c/protobuf-c.c 65
src/pg_query_deparse.c 4
src/pg_query_readfuncs_protobuf.c 4
./src/include/pg_query_readfuncs_defs.c 262
src/postgres_deparse.c 318
src/postgres/src_backend_utils_adt_ruleutils.c 1
src/postgres/src_port_strlcpy.c 1
src/pg_query_fingerprint.c 14
vendor/xxhash/xxhash.h 46
./src/postgres/include/lib/simplehash.h 15
./src/postgres/include/lib/ilist.h 3
src/postgres/src_common_hashfn.c 1
./src/postgres/include/lib/sort_template.h 4
./src/include/pg_query_fingerprint_defs.c 251
src/pg_query_normalize.c 12
src/pg_query_scan.c 2

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
XXH64 /src/libpg_query/vendor/xxhash/xxhash.h 3 ['N/A', 'size_t', 'size_t'] 3 0 12 3 2 7 0 76 74
protobuf_c_message_check /src/libpg_query/vendor/protobuf-c/protobuf-c.c 1 ['N/A'] 2 0 321 77 34 1 1 68 68
AllocSetRealloc /src/libpg_query/src/postgres/src_backend_utils_mmgr_aset.c 3 ['N/A', 'size_t', 'int'] 18 0 129 24 10 112 0 551 65
varstr_levenshtein_less_equal /src/libpg_query/./src/postgres/include/levenshtein.c 9 ['N/A', 'int', 'N/A', 'int', 'int', 'int', 'int', 'int', 'bool'] 18 0 825 162 59 92 0 505 64
protobuf_c_message_pack_to_buffer /src/libpg_query/vendor/protobuf-c/protobuf-c.c 2 ['N/A', 'N/A'] 11 0 151 29 11 37 282 194 59
pg_utf8_verifystr /src/libpg_query/src/postgres/src_common_wchar.c 2 ['N/A', 'int'] 2 0 143 35 14 10 0 58 53
XXH3_generateSecret /src/libpg_query/vendor/xxhash/xxhash.h 3 ['N/A', 'N/A', 'size_t'] 9 0 197 17 7 29 0 81 47

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
56.9%
2629 / 4585
Cyclomatic complexity statically reachable by fuzzers
81.0%
20813 / 25629

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
_enumToStringObjectType 57 7 12.28% ['fuzz_parser', 'fuzz_protobuf']
pg_query_raw_parse 57 25 43.85% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
exprLocation 351 86 24.50% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
base_yyparse 17254 4310 24.97% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
processCASbits 78 14 17.94% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
yy_get_next_buffer 90 19 21.11% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
AllocSetDelete 39 17 43.58% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
dopr 304 132 43.42% ['fuzz_plpgsql', 'fuzz_parser', 'fuzz_protobuf']
pg_query_raw_parse_plpgsql 41 17 41.46% ['fuzz_plpgsql']
raw_expression_tree_walker_impl 637 209 32.81% ['fuzz_plpgsql', 'fuzz_protobuf']
construct_array_builtin 75 25 33.33% ['fuzz_plpgsql']
deconstruct_array_builtin 54 14 25.92% ['fuzz_plpgsql']
format_type_extended 157 40 25.47% ['fuzz_plpgsql']
cfunc_resolve_polymorphic_argtypes 31 13 41.93% ['fuzz_plpgsql']
read_fetch_direction 95 45 47.36% ['fuzz_plpgsql']
read_cursor_args 109 21 19.26% ['fuzz_plpgsql']
_fingerprintIntoClause 74 22 29.72% ['fuzz_protobuf']
_fingerprintRowExpr 40 21 52.5% ['fuzz_protobuf']
_fingerprintFuncCall 92 42 45.65% ['fuzz_protobuf']
_fingerprintResTarget 34 17 50.0% ['fuzz_protobuf']
_fingerprintColumnDef 151 35 23.17% ['fuzz_protobuf']
_fingerprintJsonParseExpr 34 14 41.17% ['fuzz_protobuf']
_fingerprintSelectStmt 242 112 46.28% ['fuzz_protobuf']
_fingerprintCallStmt 44 14 31.81% ['fuzz_protobuf']
pg_query_deparse_protobuf_opts 45 24 53.33% ['fuzz_protobuf']
const_record_walker 203 94 46.30% ['fuzz_protobuf']
hash_bytes 92 24 26.08% ['fuzz_protobuf']
deparseAppendCommentsIfNeeded 32 3 9.375% ['fuzz_protobuf']
deparseStmt 350 42 12.0% ['fuzz_protobuf']
deparseCExpr 50 23 46.0% ['fuzz_protobuf']
deparseSubLink 51 28 54.90% ['fuzz_protobuf']
deparseTypeName 134 71 52.98% ['fuzz_protobuf']
deparseAExpr 174 55 31.60% ['fuzz_protobuf']
deparseFuncExpr 42 11 26.19% ['fuzz_protobuf']
deparseFuncCall 259 80 30.88% ['fuzz_protobuf']
deparseSQLValueFunction 54 9 16.66% ['fuzz_protobuf']
deparseColumnDef 46 20 43.47% ['fuzz_protobuf']
deparseIntoClause 39 15 38.46% ['fuzz_protobuf']
deparseRangeFunction 60 31 51.66% ['fuzz_protobuf']
deparseFetchStmt 53 21 39.62% ['fuzz_protobuf']
deparseSelectStmt 170 89 52.35% ['fuzz_protobuf']
deparseTransactionStmt 50 11 22.0% ['fuzz_protobuf']
deparseVariableSetStmt 86 32 37.20% ['fuzz_protobuf']
required_field_get_packed_size 45 20 44.44% ['fuzz_protobuf']
repeated_field_get_packed_size 70 22 31.42% ['fuzz_protobuf']
required_field_pack 46 21 45.65% ['fuzz_protobuf']
repeated_field_pack 94 14 14.89% ['fuzz_protobuf']
parse_member 47 25 53.19% ['fuzz_protobuf']
parse_required_member 119 52 43.69% ['fuzz_protobuf']
parse_oneof_member 49 8 16.32% ['fuzz_protobuf']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/libpg_query/src/postgres/src_backend_utils_misc_stack_depth.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_commands_functioncmds.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_error_assert.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_utils_fmgr_funcapi.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_parser_scansup.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_fmgr_fmgr.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_parser_parse_collate.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_mmgr_bump.c [] []
/src/libpg_query/src/postgres_deparse.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_catalog_catalog.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/./src/include/pg_query_pg_type.c ['fuzz_plpgsql'] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_slab.c [] []
/src/libpg_query/./src/postgres/include/access/htup_details.h ['fuzz_plpgsql'] []
/src/libpg_query/src/postgres/src_backend_parser_parser.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/port/pg_bitutils.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_port_strerror.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_nodes_nodeFuncs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_nodes_copyfuncs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_readfuncs_protobuf.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/./src/postgres/include/common/kwlookup.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_nodes_equalfuncs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/pg_query_outfuncs_json.c ['fuzz_parser'] ['fuzz_parser']
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_comp.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_mmgr_alignedalloc.c [] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_mcxt.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_catalog_namespace.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/pg_query_outfuncs_protobuf.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/gram.y ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/include/pg_query_json_helper.c ['fuzz_parser', 'fuzz_plpgsql'] []
/src/libpg_query/pl_gram.y ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_tcop_postgres.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/vendor/protobuf-c/protobuf-c.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_access_common_tupdesc.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_mmgr_aset.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_mmgr_generation.c [] []
/src/libpg_query/src/pg_query_json_plpgsql.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_regproc.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_common_stringinfo.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_parser_parse_type.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_cache_lsyscache.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_scan.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/./src/postgres/include/lib/simplehash.h ['fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/utils/ascii.h [] []
/src/libpg_query/src/pg_query_parse_plpgsql.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_expandeddatum.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/storage/block.h ['fuzz_plpgsql'] []
/src/libpg_query/src/postgres/src_port_strlcpy.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_parser_parse_node.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_arrayutils.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/./src/postgres/include/postgres.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_funcs.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_nodes_list.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/pl_reserved_kwlist_d.h [] []
/src/libpg_query/./src/include/pg_query_enum_defs.c ['fuzz_parser', 'fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/access/tupdesc.h ['fuzz_plpgsql'] []
/src/libpg_query/./src/postgres/include/nodes/nodes.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_utils_adt_format_type.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/./src/postgres/include/mb/pg_wchar.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_common_wchar.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/kwlist_d.h [] []
/src/libpg_query/src/postgres/src_backend_utils_cache_syscache.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_datum.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_utils_adt_arrayfuncs.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_mb_mbutils.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_adt_ruleutils.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_port_pg_bitutils.c ['fuzz_protobuf'] []
/src/libpg_query/./test/fuzz/fuzz_protobuf.c ['fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_utils_adt_name.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_oid.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/port/simd.h [] []
/src/libpg_query/scan.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_optimizer_util_var.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/./src/include/pg_query_outfuncs_defs.c ['fuzz_parser', 'fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/common/int.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_nodes_extensible.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_parser_parse_coerce.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/pl_gram.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_catalog_pg_proc.c [] []
/src/libpg_query/./src/include/pg_query_fingerprint_defs.c ['fuzz_protobuf'] []
/src/libpg_query/src/pg_query_fingerprint.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_common_hashfn.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/./src/include/pg_query_readfuncs_defs.c ['fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_nodes_value.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_port_snprintf.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/access/tupmacs.h ['fuzz_plpgsql'] []
/src/libpg_query/src/postgres/src_common_psprintf.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/lib/ilist.h ['fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_nodes_makefuncs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_adt_varlena.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_deparse.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/scan.l ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/vendor/xxhash/xxhash.h ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/./src/postgres/include/utils/palloc.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/lib/sort_template.h ['fuzz_protobuf'] []
/src/libpg_query/./test/fuzz/fuzz_plpgsql.c ['fuzz_plpgsql'] []
/src/libpg_query/./src/postgres/include/utils/memutils_memorychunk.h [] []
/src/libpg_query/src/postgres/src_backend_utils_cache_funccache.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/./test/fuzz/fuzz_parser.c ['fuzz_parser'] []
/src/libpg_query/src/postgres/src_backend_utils_adt_numutils.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/storage/itemptr.h ['fuzz_plpgsql'] []
/src/libpg_query/./src/postgres/include/copyfuncs.funcs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_port_qsort.c [] []
/src/libpg_query/src/postgres/src_common_kwlookup.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/nodes/pg_list.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_storage_ipc_ipc.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/pg_query_normalize.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_scanner.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_parse.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/utils/memutils_internal.h [] []
/src/libpg_query/src/postgres/src_port_pgstrcasecmp.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_parser_parse_expr.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_nodes_bitmapset.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/./src/postgres/include/pl_unreserved_kwlist_d.h [] []
/src/libpg_query/./src/postgres/include/equalfuncs.funcs.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/./src/postgres/include/levenshtein.c [] []
/src/libpg_query/src/postgres/src_backend_commands_define.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/gram.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_error_elog.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/protobuf/pg_query.pb-c.c ['fuzz_protobuf'] ['fuzz_protobuf']

Directories in report

Directory
/src/libpg_query/src/postgres/
/src/libpg_query/./src/include/
/src/libpg_query/./src/postgres/include/access/
/src/libpg_query/./src/postgres/include/nodes/
/src/libpg_query/src/
/src/libpg_query/./src/postgres/include/utils/
/src/libpg_query/./test/fuzz/
/src/libpg_query/./src/postgres/include/lib/
/src/libpg_query/./src/postgres/include/
/src/libpg_query/./src/postgres/include/mb/
/src/libpg_query/
/src/libpg_query/vendor/xxhash/
/src/libpg_query/./src/postgres/include/common/
/src/libpg_query/./src/postgres/include/port/
/src/libpg_query/vendor/protobuf-c/
/src/libpg_query/protobuf/
/src/libpg_query/./src/postgres/include/storage/