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 102 35.7%
gold [1:9] 24 8.42%
yellow [10:29] 1 0.35%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 158 55.4%
All colors 285 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
11 74 scanner_init call site: 00074 yy_switch_to_buffer
11 129 CopyErrorData call site: 00129 FlushErrorState
10 29 get_lowest_stackaddr call site: 00029
8 43 pg_query_parse_opts call site: 00043
8 265 pg_query_parse_opts call site: 00265 CopyErrorData
4 66 palloc call site: 00066 GetMemoryChunkHeader
4 143 MemoryContextReset call site: 00143 MemoryContextDeleteChildren
4 175 MemoryContextResetOnly call site: 00175 PG_END_TRY
3 56 scanner_init call site: 00056
3 199 pvsnprintf call site: 00199 elog
3 211 errmsg call site: 00211 fprintf
3 217 enlargeStringInfo call site: 00217 elog

Runtime coverage analysis

Covered functions
399
Functions that are reachable but not covered
83
Reachable functions
129
Percentage of reachable functions covered
35.66%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzz/fuzz_parser.c 6
src/pg_query_parse.c 23
src/pg_query.c 26
src/postgres/src_backend_utils_mmgr_mcxt.c 32
src/postgres/src_backend_utils_mb_mbutils.c 3
src/postgres/src_backend_utils_misc_stack_depth.c 1
src/postgres/src_backend_parser_parser.c 4
src/postgres/src_backend_parser_scan.c 16
src/postgres/src_backend_utils_error_elog.c 8
src/postgres/include/access/tableam.h 1
src/pg_query_outfuncs_json.c 8
src/postgres/src_common_stringinfo.c 21
src/postgres/src_common_psprintf.c 9
src/include/pg_query_outfuncs_defs.c 3
src/postgres/include/nodes/pg_list.h 1

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 6250 86.8%
gold [1:9] 54 0.75%
yellow [10:29] 8 0.11%
greenyellow [30:49] 6 0.08%
lawngreen 50+ 875 12.1%
All colors 7193 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
3359 2867 list_concat call site: 02867 deparseStmt
2177 662 lnext call site: 00662 deparsePreparableStmt
112 439 errhint call site: 00439 deparseCExpr
102 559 pvsnprintf call site: 00559 deparseAIndirection
27 6378 psprintf call site: 06378 printTypmod
20 7020 dump_expr call site: 07020 dump_block
18 306 bms_is_member call site: 00306 deparseAppendPart
18 393 bms_free call site: 00393 deparseStateDecreaseNestingLevel
16 6494 lappend_oid call site: 06494 get_element_type
14 6342 interpret_function_parameter_list call site: 06342 TypeNameToString
13 416 ScanKeywordLookup call site: 00416 deparseAIndices
12 6406 format_type_extended call site: 06406 get_namespace_name_or_temp

Runtime coverage analysis

Covered functions
485
Functions that are reachable but not covered
184
Reachable functions
391
Percentage of reachable functions covered
52.94%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzz/fuzz_plpgsql.c 6
src/pg_query_parse_plpgsql.c 76
src/pg_query.c 26
src/postgres/src_backend_utils_mmgr_mcxt.c 33
src/postgres/src_backend_utils_mb_mbutils.c 16
src/postgres/src_backend_utils_misc_stack_depth.c 6
src/pg_query_parse.c 15
src/postgres/src_backend_parser_parser.c 4
src/postgres/src_backend_parser_scan.c 16
src/postgres/src_backend_utils_error_elog.c 8
src/postgres/include/access/tableam.h 1
src/pg_query_deparse.c 8
src/postgres_deparse.c 385
src/postgres/src_backend_nodes_list.c 28
src/postgres/include/port/pg_bitutils.h 4
src/postgres/include/utils/memdebug.h 3
src/postgres/src_common_stringinfo.c 22
src/postgres/src_backend_nodes_bitmapset.c 16
test/summary.c 3
test/framework/main.c 1
src/postgres/src_backend_utils_adt_ruleutils.c 7
src/postgres/src_common_kwlookup.c 3
vendor/upb/upb.c 1
src/postgres/src_common_psprintf.c 14
src/postgres/include/nodes/pg_list.h 1
src/postgres/src_port_pgstrcasecmp.c 3
src/postgres/src_backend_commands_functioncmds.c 30
src/postgres/src_backend_parser_parse_type.c 25
src/postgres/src_backend_catalog_namespace.c 25
src/postgres/src_backend_utils_cache_lsyscache.c 15
src/postgres/src_backend_utils_cache_syscache.c 12
src/include/pg_query_pg_type.c 1
src/postgres/include/storage/itemptr.h 3
src/postgres/include/access/htup_details.h 1
src/postgres/src_backend_utils_adt_format_type.c 15
src/postgres/src_backend_parser_parse_node.c 2
src/postgres/src_backend_nodes_value.c 1
src/postgres/src_backend_utils_adt_oid.c 4
src/postgres/src_backend_utils_adt_arrayfuncs.c 36
src/postgres/src_backend_utils_adt_arrayutils.c 7
src/postgres/include/common/int.h 1
src/postgres/include/access/tupmacs.h 8
src/postgres/src_backend_utils_adt_name.c 2
src/postgres/include/postgres.h 3
src/postgres/src_pl_plpgsql_src_pl_comp.c 64
src/postgres/src_pl_plpgsql_src_pl_scanner.c 5
src/postgres/src_backend_utils_adt_regproc.c 1
src/postgres/src_pl_plpgsql_src_pl_funcs.c 19
src/postgres/src_backend_utils_fmgr_funcapi.c 13
src/postgres/src_backend_utils_cache_funccache.c 1
src/postgres/src_backend_access_common_tupdesc.c 17
src/postgres/include/access/tupdesc.h 1
src/pg_query_json_plpgsql.c 22

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 4654 65.8%
gold [1:9] 97 1.37%
yellow [10:29] 39 0.55%
greenyellow [30:49] 27 0.38%
lawngreen 50+ 2249 31.8%
All colors 7066 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
848 3743 deparseGrantStmt call site: 03743 deparseAlterTableStmt
811 5149 deparseExecuteStmt call site: 05149 deparseCreateFunctionStmt
238 6365 deparseStmt call site: 06365 deparseRenameStmt
174 5989 deparseStmt call site: 05989 deparseDropStmt
124 4838 deparseStmt call site: 04838 deparseCommentStmt
123 2206 deparseColumnDef call site: 02206 deparseConstraint
87 2954 deparseFuncExpr call site: 02954 deparseXmlSerialize
85 1973 deparseXmlExpr call site: 01973 deparseXmlSerialize
85 3641 deparsePrivilegeTarget call site: 03641 deparseFunctionWithArgtypesList
71 2531 deparseJsonValueExpr call site: 02531 deparseJsonValueExpr
64 1904 deparseFuncExprWindowless call site: 01904 deparseXmlExpr
64 4612 deparseAlterRoleStmt call site: 04612 deparseAlterRoleElem

Runtime coverage analysis

Covered functions
1948
Functions that are reachable but not covered
450
Reachable functions
807
Percentage of reachable functions covered
44.24%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzz/fuzz_protobuf.c 14
src/pg_query_parse.c 22
src/pg_query.c 26
src/postgres/src_backend_utils_mmgr_mcxt.c 33
src/postgres/src_backend_utils_mb_mbutils.c 3
src/postgres/src_backend_utils_misc_stack_depth.c 6
src/postgres/src_backend_parser_parser.c 4
src/postgres/src_backend_parser_scan.c 16
src/postgres/src_backend_utils_error_elog.c 8
src/postgres/include/access/tableam.h 1
src/pg_query_outfuncs_protobuf.c 17
vendor/upb/upb/generated_code_support.h 52
vendor/upb/upb.c 120
protobuf/pg_query.upb.h 7
test/summary.c 3
test/framework/main.c 1
src/include/pg_query_outfuncs_defs.c 3
src/pg_query_deparse.c 24
src/pg_query_readfuncs_protobuf.c 12
src/postgres/src_backend_nodes_list.c 26
src/postgres/include/port/pg_bitutils.h 4
src/postgres/include/utils/memdebug.h 3
src/include/pg_query_readfuncs_defs.c 3
src/postgres/src_common_stringinfo.c 22
src/postgres_deparse.c 385
src/postgres/src_backend_nodes_bitmapset.c 16
src/postgres/src_backend_utils_adt_ruleutils.c 3
src/postgres/src_common_kwlookup.c 3
src/postgres/src_common_psprintf.c 9
src/postgres/include/nodes/pg_list.h 1
src/postgres/src_port_pgstrcasecmp.c 3
src/pg_query_fingerprint.c 44
src/postgres/include/lib/ilist.h 2
vendor/xxhash/xxhash.h 3
src/pg_query_normalize.c 42
src/pg_query_scan.c 36

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 14 24.56% ['fuzz_protobuf', 'fuzz_parser']
_enumToStringAlterTableType 71 12 16.90% ['fuzz_parser']
pg_query_raw_parse 57 25 43.85% ['fuzz_protobuf', 'fuzz_parser', 'fuzz_plpgsql']
exprLocation 352 103 29.26% ['fuzz_protobuf', 'fuzz_parser', 'fuzz_plpgsql']
base_yyparse 17276 6787 39.28%
processCASbits 78 34 43.58% ['fuzz_parser']
yy_get_next_buffer 90 19 21.11% ['fuzz_protobuf', 'fuzz_parser', 'fuzz_plpgsql']
AllocSetDelete 39 17 43.58% ['fuzz_protobuf', 'fuzz_parser', 'fuzz_plpgsql']
dopr 304 138 45.39% ['fuzz_protobuf', 'fuzz_parser', 'fuzz_plpgsql']
pg_query_raw_parse_plpgsql 41 17 41.46% ['fuzz_plpgsql']
compute_return_type 43 13 30.23% ['fuzz_plpgsql']
_copyA_Const 32 16 50.0% ['fuzz_plpgsql']
raw_expression_tree_walker_impl 637 259 40.65% ['fuzz_protobuf', 'fuzz_plpgsql']
construct_array_builtin 75 25 33.33% ['fuzz_plpgsql']
deconstruct_array_builtin 54 14 25.92% ['fuzz_plpgsql']
format_type_extended 157 35 22.29% ['fuzz_plpgsql']
plpgsql_yyparse 2136 1168 54.68%
read_into_scalar_list 53 28 52.83% ['fuzz_plpgsql']
read_cursor_args 109 21 19.26% ['fuzz_plpgsql']
_intToEnumObjectType 58 5 8.620% ['fuzz_protobuf']
_enumToIntObjectType 58 5 8.620% ['fuzz_protobuf']
_fingerprintIntoClause 74 22 29.72% ['fuzz_protobuf']
_fingerprintRowExpr 40 21 52.5% ['fuzz_protobuf']
_fingerprintXmlExpr 72 29 40.27% ['fuzz_protobuf']
_fingerprintWindowDef 72 20 27.77% ['fuzz_protobuf']
_fingerprintColumnDef 151 44 29.13% ['fuzz_protobuf']
_fingerprintCommonTableExpr 132 44 33.33% ['fuzz_protobuf']
_fingerprintJsonParseExpr 34 17 50.0% ['fuzz_protobuf']
_fingerprintInsertStmt 90 48 53.33% ['fuzz_protobuf']
_fingerprintDeleteStmt 72 37 51.38% ['fuzz_protobuf']
_fingerprintGrantRoleStmt 66 32 48.48% ['fuzz_protobuf']
_fingerprintCallStmt 44 14 31.81% ['fuzz_protobuf']
pg_query_deparse_protobuf_opts 45 24 53.33% ['fuzz_protobuf']
hash_bytes 92 24 26.08% ['fuzz_protobuf']
deparseAppendCommentsIfNeeded 32 3 9.375% ['fuzz_protobuf']
deparseStmt 353 99 28.04% ['fuzz_protobuf']
deparseCExpr 59 26 44.06% ['fuzz_protobuf']
deparseIntervalTypmods 61 19 31.14% ['fuzz_protobuf']
deparseAExpr 157 83 52.86% ['fuzz_protobuf']
deparseFuncExpr 44 19 43.18% ['fuzz_protobuf']
deparseWindowDef 100 26 26.0% ['fuzz_protobuf']
deparseXmlExpr 82 10 12.19% ['fuzz_protobuf']
deparseColumnDef 48 25 52.08% ['fuzz_protobuf']
deparseIntoClause 39 15 38.46% ['fuzz_protobuf']
deparseRangeFunction 60 31 51.66% ['fuzz_protobuf']
deparseFetchStmt 53 23 43.39% ['fuzz_protobuf']
deparsePrivilegeTarget 122 14 11.47% ['fuzz_protobuf']
deparseGrantRoleStmt 67 24 35.82% ['fuzz_protobuf']
deparseLockStmt 44 10 22.72% ['fuzz_protobuf']
deparseTransactionStmt 50 19 38.0% ['fuzz_protobuf']
deparseVariableSetStmt 88 41 46.59% ['fuzz_protobuf']
upb_Arena_Init 33 10 30.30% ['fuzz_protobuf']
_upb_Decoder_DecodeWireValue 55 22 40.0% ['fuzz_protobuf']
_upb_Decoder_DecodeToArray 63 25 39.68% ['fuzz_protobuf']
encode_exts 32 3 9.375% ['fuzz_protobuf']
encode_array 115 44 38.26% ['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/include/catalog/genbki.h [] []
/src/libpg_query/vendor/upb/upb/generated_code_support.h ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_nodes_nodeFuncs.c [] []
/src/libpg_query/test/summary_tests.c [] []
/src/libpg_query/src/postgres/include/lib/stringinfo.h [] []
/src/libpg_query/test/scan.c [] []
/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/nodes/pg_list.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/pg_query_raw_tree_walker_supports.c [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_arrayfuncs.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_oid.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_comp.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/scripts/mocks/build_datatype.c [] []
/src/libpg_query/src/postgres/include/common/kwlookup.h [] []
/src/libpg_query/src/postgres/include/libpq/pqformat.h [] []
/src/libpg_query/src/postgres/include/lib/sort_template.h [] []
/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/scripts/mocks/plpgsql_parse_wordtype.c [] []
/src/libpg_query/src/postgres/include/equalfuncs.funcs.c [] []
/src/libpg_query/src/postgres/include/nodes/miscnodes.h [] []
/src/libpg_query/src/postgres/include/port/pg_crc32c.h [] []
/src/libpg_query/src/postgres/include/utils/array.h [] []
/src/libpg_query/src/postgres/include/access/xlog_internal.h [] []
/src/libpg_query/src/postgres/include/utils/backend_status.h [] []
/src/libpg_query/src/postgres/src_backend_nodes_extensible.c [] []
/src/libpg_query/src/postgres/src_backend_utils_activity_pgstat_database.c [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_numutils.c [] []
/src/libpg_query/vendor/xxhash/xxhash.h ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/catalog/pg_aggregate_d.h [] []
/src/libpg_query/benchmark/microbench_protobuf.c [] []
/src/libpg_query/src/pg_query_split.c [] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_alignedalloc.c [] []
/src/libpg_query/src/postgres/include/access/toast_compression.h [] []
/src/libpg_query/src/postgres/include/gramparse.h [] []
/src/libpg_query/src/postgres/include/nodes/primnodes.h [] []
/src/libpg_query/src/postgres/include/commands/trigger.h [] []
/src/libpg_query/src/postgres/include/postmaster/startup.h [] []
/src/libpg_query/src/postgres/include/utils/relcache.h [] []
/src/libpg_query/src/postgres/include/storage/s_lock.h [] []
/src/libpg_query/src/postgres/include/utils/memdebug.h ['fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/include/nodes/print.h [] []
/src/libpg_query/src/postgres/src_port_pgstrcasecmp.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/common/relpath.h [] []
/src/libpg_query/src/postgres/src_backend_parser_parse_collate.c [] []
/src/libpg_query/src/include/pg_query_fingerprint_defs.c [] []
/src/libpg_query/src/include/pg_query_enum_defs.c [] []
/src/libpg_query/src/pg_query_fingerprint.c ['fuzz_protobuf'] ['fuzz_protobuf']
/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/nodes/nodeFuncs.h [] []
/src/libpg_query/src/postgres/include/lib/simplehash.h [] []
/src/libpg_query/src/pg_query_deparse.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/catalog/index.h [] []
/src/libpg_query/src/postgres/include/catalog/pg_collation_d.h [] []
/src/libpg_query/src/postgres/include/tcop/utility.h [] []
/src/libpg_query/src/postgres/include/utils/elog.h [] []
/src/libpg_query/src/postgres/include/parser/parsetree.h [] []
/src/libpg_query/src/postgres/include/utils/snapmgr.h [] []
/src/libpg_query/src/postgres/src_backend_catalog_namespace.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_outfuncs_protobuf_cpp.cc [] []
/src/libpg_query/src/postgres/src_backend_utils_cache_syscache.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/lsyscache.h [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_datum.c [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_ruleutils.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/test/stack_depth.c [] []
/src/libpg_query/src/pg_query_is_utility_stmt.c [] []
/src/libpg_query/scripts/mocks/LookupTypeNameExtended.c [] []
/src/libpg_query/src/postgres/src_common_wchar.c [] []
/src/libpg_query/src/postgres/include/port/win32_port.h [] []
/src/libpg_query/src/postgres/include/access/sdir.h [] []
/src/libpg_query/src/postgres/include/access/genam.h [] []
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_funcs.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/access/xlogdefs.h [] []
/src/libpg_query/src/postgres/include/access/parallel.h [] []
/src/libpg_query/src/postgres/src_backend_parser_scan.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/include/tcop/cmdtag.h [] []
/src/libpg_query/src/postgres/src_port_pg_popcount_aarch64.c [] []
/src/libpg_query/scripts/mocks/get_func_arg_info.c [] []
/src/libpg_query/src/postgres/include/lib/pairingheap.h [] []
/src/libpg_query/src/postgres/include/utils/memutils_internal.h [] []
/src/libpg_query/src/postgres/include/storage/ipc.h [] []
/src/libpg_query/src/postgres/include/utils/acl.h [] []
/src/libpg_query/src/postgres/include/kwlist_d.h [] []
/src/libpg_query/src/postgres/include/utils/numeric.h [] []
/src/libpg_query/src/include/pg_query_readfuncs_defs.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_backend_utils_misc_stack_depth.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/include/access/xlog.h [] []
/src/libpg_query/src/include/pg_query_scan_defs.c [] []
/src/libpg_query/src/postgres/include/storage/relfilelocator.h [] []
/src/libpg_query/src/postgres_deparse.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/test/deparse.c [] []
/src/libpg_query/src/postgres/include/miscadmin.h [] []
/src/libpg_query/src/postgres/src_port_strlcpy.c [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_format_type.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_nodes_bitmapset.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/scripts/mocks/cfunc_resolve_polymorphic_argtypes.c [] []
/src/libpg_query/src/postgres/src_backend_utils_error_assert.c [] []
/src/libpg_query/test/is_utility_stmt.c [] []
/src/libpg_query/src/postgres/include/nodes/bitmapset.h [] []
/src/libpg_query/src/postgres/include/nodes/pathnodes.h [] []
/src/libpg_query/src/postgres/include/catalog/pg_type.h [] []
/src/libpg_query/src/postgres/include/access/brin_internal.h [] []
/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/include/utils/memutils.h [] []
/src/libpg_query/scripts/mocks/plpgsql_parse_cwordtype.c [] []
/src/libpg_query/src/postgres/src_backend_nodes_list.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/include/access/attnum.h [] []
/src/libpg_query/src/postgres/include/utils/dsa.h [] []
/src/libpg_query/src/include/pg_query_json_helper.c [] []
/src/libpg_query/src/postgres/include/port/pg_bitutils.h ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/include/postgres_ext.h [] []
/src/libpg_query/src/postgres/include/nodes/parsenodes.h [] []
/src/libpg_query/scripts/mocks/interpret_function_parameter_list.c [] []
/src/libpg_query/src/postgres/include/access/brin_tuple.h [] []
/src/libpg_query/test/framework/main.h [] []
/src/libpg_query/src/postgres/include/catalog/namespace.h [] []
/src/libpg_query/src/postgres/include/access/slru.h [] []
/src/libpg_query/src/pg_query_summary_statement_type.c [] []
/src/libpg_query/src/postgres/include/storage/itemptr.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/access/htup.h [] []
/src/libpg_query/src/include/pg_query_outfuncs_defs.c ['fuzz_parser', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_protobuf']
/src/libpg_query/scripts/mocks/SysCacheGetAttrNotNull.c [] []
/src/libpg_query/src/postgres/include/access/xlogreader.h [] []
/src/libpg_query/src/postgres/include/nodes/queryjumble.h [] []
/src/libpg_query/src/postgres/src_backend_parser_parse_type.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/port/atomics/generic-gcc.h [] []
/src/libpg_query/src/postgres/include/utils/probes.h [] []
/src/libpg_query/src/postgres/include/access/tableam.h ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/include/utils/injection_point.h [] []
/src/libpg_query/test/fuzz/fuzz_parser.c ['fuzz_parser'] ['fuzz_parser']
/src/libpg_query/src/postgres/include/storage/buf.h [] []
/src/libpg_query/vendor/upb/third_party/utf8_range/utf8_range.c [] []
/src/libpg_query/src/pg_query_parse_plpgsql.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/ps_status.h [] []
/src/libpg_query/src/postgres/include/catalog/objectaddress.h [] []
/src/libpg_query/src/postgres/src_backend_tcop_postgres.c [] []
/src/libpg_query/src/postgres/include/fmgr.h [] []
/src/libpg_query/src/postgres/include/replication/syncrep.h [] []
/src/libpg_query/src/postgres/include/storage/spin.h [] []
/src/libpg_query/scripts/mocks/plpgsql_parse_cwordrowtype.c [] []
/src/libpg_query/src/postgres/src_port_snprintf.c [] []
/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/pg_query_json_plpgsql.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_backend_utils_adt_name.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/common/hashfn.h [] []
/src/libpg_query/src/postgres/include/access/detoast.h [] []
/src/libpg_query/src/pg_query_outfuncs_json.c ['fuzz_parser'] []
/src/libpg_query/src/include/pg_query_pg_type.c ['fuzz_plpgsql'] ['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/src_backend_nodes_equalfuncs.c [] []
/src/libpg_query/src/postgres/include/utils/date.h [] []
/src/libpg_query/src/postgres/include/utils/timestamp.h [] []
/src/libpg_query/test/fuzz/fuzz_plpgsql.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/access/htup_details.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/postgres.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/sortsupport.h [] []
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_gram.c [] []
/src/libpg_query/src/postgres/include/lib/ilist.h ['fuzz_protobuf'] []
/src/libpg_query/src/postgres/include/access/gin.h [] []
/src/libpg_query/src/postgres/include/storage/shm_toc.h [] []
/src/libpg_query/src/postgres/include/port/atomics/generic-msvc.h [] []
/src/libpg_query/src/postgres/include/varatt.h [] []
/src/libpg_query/src/postgres/include/utils/float.h [] []
/src/libpg_query/src/postgres/include/nodes/memnodes.h [] []
/src/libpg_query/src/postgres/include/access/xact.h [] []
/src/libpg_query/src/postgres/src_backend_nodes_makefuncs.c [] []
/src/libpg_query/src/postgres/include/catalog/pg_opfamily_d.h [] []
/src/libpg_query/src/postgres/include/nodes/execnodes.h [] []
/src/libpg_query/src/postgres/include/access/xlogrecord.h [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_varlena.c [] []
/src/libpg_query/src/postgres/src_backend_parser_gram.c [] []
/src/libpg_query/scripts/mocks/plpgsql_parse_wordrowtype.c [] []
/src/libpg_query/src/postgres/src_backend_commands_define.c [] []
/src/libpg_query/src/postgres/include/catalog/pg_trigger.h [] []
/src/libpg_query/src/postgres/src_backend_catalog_catalog.c [] []
/src/libpg_query/src/postgres/include/utils/syscache.h [] []
/src/libpg_query/src/pg_query_normalize.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/access/rmgr.h [] []
/src/libpg_query/src/pg_query_readfuncs_protobuf.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/parser/parse_type.h [] []
/src/libpg_query/test/summary.c ['fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_parser_scansup.c [] []
/src/libpg_query/src/postgres/include/storage/bufpage.h [] []
/src/libpg_query/src/postgres/include/pl_reserved_kwlist_d.h [] []
/src/libpg_query/src/postgres/include/access/gin_tuple.h [] []
/src/libpg_query/src/postgres/include/libpq/libpq.h [] []
/src/libpg_query/scripts/mocks/write_stderr.c [] []
/src/libpg_query/src/postgres/include/utils/selfuncs.h [] []
/src/libpg_query/src/postgres/include/access/tupdesc.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/storage/proc.h [] []
/src/libpg_query/scripts/mocks/GetSysCacheOid.c [] []
/src/libpg_query/src/pg_query.c ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_parser', 'fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/scripts/mocks/SearchSysCache1.c [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_regproc.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/tuplesort.h [] []
/src/libpg_query/src/postgres/include/access/ginblock.h [] []
/src/libpg_query/src/postgres/include/port/pg_bswap.h [] []
/src/libpg_query/src/postgres/include/storage/procnumber.h [] []
/src/libpg_query/src/postgres/include/storage/lock.h [] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_slab.c [] []
/src/libpg_query/src/postgres/include/libpq/pqcomm.h [] []
/src/libpg_query/src/postgres/src_port_qsort.c [] []
/src/libpg_query/src/postgres/include/mb/pg_wchar.h [] []
/src/libpg_query/src/postgres/src_backend_parser_parse_expr.c [] []
/src/libpg_query/src/postgres/include/storage/off.h [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_arrayutils.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/pg_query_summary.c [] []
/src/libpg_query/src/postgres/include/levenshtein.c [] []
/src/libpg_query/src/postgres/include/replication/slot.h [] []
/src/libpg_query/protobuf/pg_query.pb.h [] []
/src/libpg_query/vendor/upb/third_party/utf8_range/utf8_validity.h [] []
/src/libpg_query/src/postgres/src_port_strerror.c [] []
/src/libpg_query/src/postgres/include/replication/walreceiver.h [] []
/src/libpg_query/src/postgres/include/replication/reorderbuffer.h [] []
/src/libpg_query/src/postgres/src_backend_optimizer_util_var.c [] []
/src/libpg_query/src/postgres/src_common_hashfn.c [] []
/src/libpg_query/src/postgres/include/utils/memutils_memorychunk.h [] []
/src/libpg_query/src/postgres/src_pl_plpgsql_src_pl_scanner.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/src_port_pg_bitutils.c [] []
/src/libpg_query/src/postgres/src_backend_parser_parse_node.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/datatype/timestamp.h [] []
/src/libpg_query/src/postgres/include/utils/expandedrecord.h [] []
/src/libpg_query/src/postgres/include/catalog/objectaccess.h [] []
/src/libpg_query/src/postgres/include/utils/portal.h [] []
/src/libpg_query/src/postgres/include/executor/tuptable.h [] []
/src/libpg_query/src/postgres/include/replication/walsender.h [] []
/src/libpg_query/src/postgres/include/libpq/pqsignal.h [] []
/src/libpg_query/src/postgres/include/nodes/value.h [] []
/src/libpg_query/src/postgres/include/access/itup.h [] []
/src/libpg_query/src/postgres/include/utils/expandeddatum.h [] []
/src/libpg_query/src/postgres/src_backend_utils_fmgr_fmgr.c [] []
/src/libpg_query/src/postgres/include/access/tupmacs.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/datetime.h [] []
/src/libpg_query/src/postgres/include/storage/block.h [] []
/src/libpg_query/src/postgres/include/storage/itemid.h [] []
/src/libpg_query/src/postgres/include/common/pg_prng.h [] []
/src/libpg_query/src/postgres/include/utils/pgstat_internal.h [] []
/src/libpg_query/src/pg_query_scan.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/src_common_encnames.c [] []
/src/libpg_query/scripts/mocks/LookupExplicitNamespace.c [] []
/src/libpg_query/src/postgres/include/utils/wait_event.h [] []
/src/libpg_query/src/postgres/src_backend_catalog_pg_proc.c [] []
/src/libpg_query/src/postgres/include/catalog/pg_class.h [] []
/src/libpg_query/protobuf/pg_query.upb.h ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/executor/executor.h [] []
/src/libpg_query/src/postgres/src_backend_nodes_copyfuncs.c [] []
/src/libpg_query/src/postgres/include/utils/xml.h [] []
/src/libpg_query/test/concurrency.c [] []
/src/libpg_query/test/fuzz/fuzz_protobuf.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/utils/partcache.h [] []
/src/libpg_query/src/postgres/src_backend_utils_cache_lsyscache.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/port/pg_iovec.h [] []
/src/libpg_query/src/postgres/include/access/transam.h [] []
/src/libpg_query/src/postgres/include/common/hashfn_unstable.h [] []
/src/libpg_query/src/postgres/include/nodes/nodes.h [] []
/src/libpg_query/src/postgres/include/funcapi.h [] []
/src/libpg_query/src/postgres/include/copyfuncs.funcs.c [] []
/src/libpg_query/src/postgres/include/utils/builtins.h [] []
/src/libpg_query/scripts/mocks/DeconstructQualifiedName.c [] []
/src/libpg_query/src/postgres/include/pl_unreserved_kwlist_d.h [] []
/src/libpg_query/src/postgres/src_backend_utils_adt_expandeddatum.c [] []
/src/libpg_query/src/postgres/include/utils/guc.h [] []
/src/libpg_query/src/postgres/include/storage/pmsignal.h [] []
/src/libpg_query/test/framework/main.c ['fuzz_plpgsql', 'fuzz_protobuf'] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_generation.c [] []
/src/libpg_query/src/pg_query_summary_truncate.c [] []
/src/libpg_query/src/postgres/src_common_kwlookup.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_plpgsql', 'fuzz_protobuf']
/src/libpg_query/src/postgres/include/utils/pgstat_kind.h [] []
/src/libpg_query/src/postgres/include/port/atomics/arch-x86.h [] []
/src/libpg_query/src/postgres/include/port/atomics/generic.h [] []
/src/libpg_query/src/postgres/include/port.h [] []
/src/libpg_query/src/postgres/include/port/simd.h [] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_aset.c [] []
/src/libpg_query/src/postgres/include/nodes/plannodes.h [] []
/src/libpg_query/src/postgres/include/common/int.h ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/protobuf/pg_query.pb.cc [] []
/src/libpg_query/src/postgres/src_backend_utils_mmgr_bump.c [] []
/src/libpg_query/vendor/upb/upb.c ['fuzz_plpgsql', 'fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/pgstat.h [] []
/src/libpg_query/src/postgres/include/lib/qunique.h [] []
/src/libpg_query/src/postgres/include/access/hash.h [] []
/src/libpg_query/src/postgres/include/utils/arrayaccess.h [] []
/src/libpg_query/src/postgres/include/storage/smgr.h [] []
/src/libpg_query/src/postgres/include/utils/palloc.h [] []
/src/libpg_query/src/postgres/include/port/atomics.h [] []
/src/libpg_query/examples/simple_error.c [] []
/src/libpg_query/test/deparse_depth.c [] []
/src/libpg_query/src/postgres/include/commands/event_trigger.h [] []
/src/libpg_query/src/pg_query_outfuncs_protobuf.c ['fuzz_protobuf'] ['fuzz_protobuf']
/src/libpg_query/src/postgres/include/storage/bufmgr.h [] []
/src/libpg_query/src/postgres/src_backend_access_common_tupdesc.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/utils/rel.h [] []
/src/libpg_query/src/postgres/include/storage/fd.h [] []
/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/scripts/mocks/SysCacheGetAttr.c [] []
/src/libpg_query/src/postgres/src_backend_storage_ipc_ipc.c [] []
/src/libpg_query/src/postgres/include/c.h [] []
/src/libpg_query/src/postgres/src_backend_nodes_value.c ['fuzz_plpgsql'] ['fuzz_plpgsql']
/src/libpg_query/src/postgres/include/portability/instr_time.h [] []
/src/libpg_query/src/postgres/include/utils/ascii.h [] []
/src/libpg_query/test/parse_plpgsql.c [] []
/src/libpg_query/src/postgres/include/nodes/tidbitmap.h [] []
/src/libpg_query/test/summary_truncate.c [] []
/src/libpg_query/src/postgres/src_backend_parser_parse_coerce.c [] []

Directories in report

Directory
/src/libpg_query/src/postgres/include/tcop/
/src/libpg_query/src/postgres/
/src/libpg_query/test/framework/
/src/libpg_query/src/postgres/include/replication/
/src/libpg_query/src/postgres/include/
/src/libpg_query/src/postgres/include/postmaster/
/src/libpg_query/src/postgres/include/parser/
/src/libpg_query/vendor/xxhash/
/src/libpg_query/src/postgres/include/catalog/
/src/libpg_query/scripts/mocks/
/src/libpg_query/test/fuzz/
/src/libpg_query/src/postgres/include/executor/
/src/libpg_query/src/postgres/include/mb/
/src/libpg_query/src/postgres/include/port/atomics/
/src/libpg_query/src/include/
/src/libpg_query/vendor/upb/
/src/libpg_query/src/postgres/include/datatype/
/src/libpg_query/src/postgres/include/portability/
/src/libpg_query/vendor/upb/third_party/utf8_range/
/src/libpg_query/benchmark/
/src/libpg_query/test/
/src/libpg_query/protobuf/
/src/libpg_query/src/postgres/include/common/
/src/libpg_query/examples/
/src/libpg_query/src/postgres/include/lib/
/src/libpg_query/src/postgres/include/port/
/src/libpg_query/src/postgres/include/commands/
/src/libpg_query/src/postgres/include/storage/
/src/libpg_query/src/postgres/include/utils/
/src/libpg_query/vendor/upb/upb/
/src/libpg_query/src/postgres/include/nodes/
/src/libpg_query/src/postgres/include/libpq/
/src/libpg_query/src/
/src/libpg_query/src/postgres/include/access/