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

Fuzzer details

Fuzzer: fuzz-imap-utf7

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 474 63.5%
gold [1:9] 124 16.6%
yellow [10:29] 13 1.74%
greenyellow [30:49] 5 0.67%
lawngreen 50+ 130 17.4%
All colors 746 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1632 1632 4 :

['iostream_pump_stop', 'iostream_pump_unref', 'i_stream_unref', 'o_stream_unref']

1632 1632 iostream_pump_destroy call site: 00659 /src/dovecot/src/lib/iostream-pump.c:211
683 683 1 :

['event_filter_match_source']

683 683 event_want_level call site: 00154 /src/dovecot/src/lib/event-log.c:320
25 25 1 :

['event_find_field_recursive']

25 121 event_add_str call site: 00146 /src/dovecot/src/lib/lib-event.c:1069
15 15 1 :

['random_open_urandom']

37 37 random_read call site: 00016 /src/dovecot/src/lib/randgen.c:88
14 1660 8 :

['strchr', 'str_append_data', 'str_append_c', 'str_truncate', 'mbase64_decode_to_utf8', 'str_printfa', 'str_append', 'str_len']

14 1660 imap_utf7_to_utf8_int call site: 00627 /src/dovecot/src/lib-imap/imap-utf7.c:306
14 1562 6 :

['strchr', 'mbase64_decode_to_utf8', 'str_printfa', 'str_append_c', 'str_truncate', 'str_len']

14 1562 imap_utf7_to_utf8_int call site: 00635 /src/dovecot/src/lib-imap/imap-utf7.c:334
8 8 2 :

['event_ref', 'event_copy_parent_defaults']

8 8 event_create_internal call site: 00086 /src/dovecot/src/lib/lib-event.c:421
4 4 1 :

['i_warning']

6 48 random_init call site: 00007 /src/dovecot/src/lib/randgen.c:185
4 4 1 :

['i_fatal']

4 4 fd_close_on_exec call site: 00026 /src/dovecot/src/lib/fd-util.c:21
4 4 1 :

['i_fatal']

4 4 hostpid_init call site: 00388 /src/dovecot/src/lib/hostpid.c:35
4 4 1 :

['i_fatal']

4 4 lib_signals_ignore_forced call site: 00590 /src/dovecot/src/lib/lib-signals.c:567
4 4 1 :

['i_fatal']

4 4 i_gettimeofday call site: 00084 /src/dovecot/src/lib/time-util.c:12

Runtime coverage analysis

Covered functions
124
Functions that are reachable but not covered
187
Reachable functions
303
Percentage of reachable functions covered
38.28%
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
lib-imap/fuzz-imap-utf7.c 1
lib-test/fuzzer.c 2
lib/lib.c 6
lib/failures.c 6
lib/randgen.c 4
lib/fd-util.c 2
lib/./lib.h 1
lib/data-stack.c 17
lib/./malloc-overflow.h 2
lib/bits.c 1
lib/./bits.h 1
lib/lib-event.c 20
lib/mempool-alloconly.c 2
lib/./mempool.h 6
lib/time-util.c 2
lib/strfuncs.c 8
lib/imem.c 1
lib/./array.h 10
lib/buffer.c 16
lib/mempool.c 1
lib/event-log.c 2
lib/event-filter.c 19
lib/wildcard-match.c 4
lib/printf-format-fix.c 5
lib/net.c 4
lib/backtrace-string.c 3
lib/str.c 7
lib/mempool-datastack.c 1
lib/./str.h 3
lib/./strfuncs.h 1
lib/hostpid.c 1
lib/var-expand.c 1
lib/lib-signals.c 15
lib/ioloop.c 19
lib/ioloop-notify-inotify.c 2
lib/ioloop-notify-fd.c 1
lib/istream.c 4
lib/ioloop-epoll.c 5
lib/array.c 3
lib/ioloop-iolist.c 2
lib/iostream.c 2
lib/memarea.c 1
lib-imap/imap-utf7.c 9
lib-imap/../../src/lib/str.h 6
lib-imap/../../src/lib/malloc-overflow.h 1
lib/unichar.c 3
lib/./unichar.h 2
lib-imap/../../src/lib/unichar.h 1
lib/iostream-pump.c 3
lib/ostream.c 3
lib/priorityq.c 7

Fuzzer: fuzz-imap-bodystructure

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 524 45.9%
gold [1:9] 122 10.6%
yellow [10:29] 6 0.52%
greenyellow [30:49] 10 0.87%
lawngreen 50+ 479 41.9%
All colors 1141 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1587 1632 4 :

['iostream_pump_stop', 'iostream_pump_unref', 'i_stream_unref', 'o_stream_unref']

1587 1632 iostream_pump_destroy call site: 01055 /src/dovecot/src/lib/iostream-pump.c:211
683 683 1 :

['event_filter_match_source']

683 683 event_want_level call site: 00154 /src/dovecot/src/lib/event-log.c:320
136 684 15 :

['imap_parser_read_atom', 'i_panic', 'is_valid_atom_char', 'imap_parser_open_list', 'i_stream_get_data', 'imap_parser_skip_to_next', 'imap_parser_read_literal_data', 'imap_parser_is_next_resp_text', 'i_stream_skip', 'imap_parser_read_literal', 'imap_parser_is_next_text', 'imap_parser_read_string', 'imap_parser_close_list', 'imap_parser_read_text', 'i_unreached']

136 684 imap_parser_read_arg call site: 00651 /src/dovecot/src/lib-imap/imap-parser.c:645
63 113 3 :

['list_add_ghost_eol', 'array_get_i', 'array_append_space_i']

63 113 finish_line call site: 00718 /src/dovecot/src/lib-imap/imap-parser.c:779
33 33 1 :

['i_stream_seek']

71 83 i_stream_read_memarea call site: 00613 /src/dovecot/src/lib/istream.c:344
25 25 1 :

['event_find_field_recursive']

25 121 event_add_str call site: 00146 /src/dovecot/src/lib/lib-event.c:1069
18 18 1 :

['imap_parser_is_next_resp_text']

22 22 imap_parser_read_arg call site: 00663 /src/dovecot/src/lib-imap/imap-parser.c:694
17 17 1 :

['imap_parser_delete_extra_eol']

17 393 imap_parser_read_args call site: 00641 /src/dovecot/src/lib-imap/imap-parser.c:809
15 15 1 :

['random_open_urandom']

37 37 random_read call site: 00016 /src/dovecot/src/lib/randgen.c:88
10 101 4 :

['memarea_unref', 'i_stream_unref', 'p_free_internal.705', 'i_stream_snapshot_free']

10 101 i_stream_snapshot_free call site: 00479 /src/dovecot/src/lib/istream.c:262
10 10 1 :

['i_stream_init_parent']

10 13 i_stream_create call site: 00601 /src/dovecot/src/lib/istream.c:1250
10 10 1 :

['memarea_unref']

10 10 i_stream_free_buffer call site: 00618 /src/dovecot/src/lib/istream.c:453

Runtime coverage analysis

Covered functions
219
Functions that are reachable but not covered
191
Reachable functions
393
Percentage of reachable functions covered
51.4%
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
lib-imap/fuzz-imap-bodystructure.c 6
lib-test/fuzzer.c 2
lib/lib.c 6
lib/failures.c 6
lib/randgen.c 4
lib/fd-util.c 2
lib/./lib.h 1
lib/data-stack.c 19
lib/./malloc-overflow.h 2
lib/bits.c 1
lib/./bits.h 1
lib/lib-event.c 20
lib/mempool-alloconly.c 2
lib/./mempool.h 6
lib/time-util.c 2
lib/strfuncs.c 15
lib/imem.c 1
lib/./array.h 10
lib/buffer.c 17
lib/mempool.c 1
lib/event-log.c 2
lib/event-filter.c 19
lib/wildcard-match.c 4
lib/printf-format-fix.c 5
lib/net.c 4
lib/backtrace-string.c 3
lib/str.c 7
lib/mempool-datastack.c 1
lib/./str.h 3
lib/./strfuncs.h 1
lib/hostpid.c 1
lib/var-expand.c 1
lib/lib-signals.c 15
lib/ioloop.c 19
lib/ioloop-notify-inotify.c 2
lib/ioloop-notify-fd.c 1
lib/istream.c 19
lib/ioloop-epoll.c 5
lib/array.c 3
lib/ioloop-iolist.c 2
lib/iostream.c 5
lib/memarea.c 2
lib-imap/imap-bodystructure.c 14
lib/istream-data.c 1
lib-imap/imap-parser.c 24
lib-imap/../../src/lib/malloc-overflow.h 1
lib-imap/../../src/lib/mempool.h 3
lib-imap/../../src/lib/array.h 6
lib-imap/../../src/lib/lib.h 1
lib/strescape.c 1
lib/ostream.c 9
lib-imap/imap-arg.c 6
lib/strnum.c 4
lib-imap/imap-envelope.c 5
lib-imap/../../src/lib/str.h 4
lib-imap/imap-quote.c 7
lib-mail/message-part.c 2
lib/iostream-pump.c 3
lib/priorityq.c 7

Fuzzer: fuzz-message-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 461 59.9%
gold [1:9] 99 12.8%
yellow [10:29] 27 3.51%
greenyellow [30:49] 3 0.39%
lawngreen 50+ 179 23.2%
All colors 769 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1587 1632 4 :

['iostream_pump_stop', 'iostream_pump_unref', 'i_stream_unref', 'o_stream_unref']

1587 1632 iostream_pump_destroy call site: 00682 /src/dovecot/src/lib/iostream-pump.c:211
683 683 1 :

['event_filter_match_source']

683 683 event_want_level call site: 00154 /src/dovecot/src/lib/event-log.c:320
33 33 1 :

['i_stream_seek']

71 83 i_stream_read_memarea call site: 00627 /src/dovecot/src/lib/istream.c:344
25 25 1 :

['event_find_field_recursive']

25 121 event_add_str call site: 00146 /src/dovecot/src/lib/lib-event.c:1069
16 16 2 :

['i_panic', 'i_stream_read_bytes.275']

16 437 message_parse_header_next call site: 00000 /src/dovecot/src/lib-mail/message-header-parser.c:209
16 16 2 :

['i_panic', 'i_stream_get_name']

16 16 i_stream_default_snapshot call site: 00000 /src/dovecot/src/lib/istream.c:229
15 15 1 :

['random_open_urandom']

37 37 random_read call site: 00016 /src/dovecot/src/lib/randgen.c:88
12 12 1 :

['i_stream_get_data_size']

12 12 parse_next_header call site: 00000 /src/dovecot/src/lib-mail/message-parser.c:620
10 10 1 :

['i_stream_init_parent']

10 13 i_stream_create call site: 00596 /src/dovecot/src/lib/istream.c:1250
8 8 2 :

['event_ref', 'event_copy_parent_defaults']

8 8 event_create_internal call site: 00086 /src/dovecot/src/lib/lib-event.c:421
6 6 1 :

['i_unreached']

6 6 i_stream_unref call site: 00479 /src/dovecot/src/lib/istream.c:71
4 4 1 :

['i_warning']

6 48 random_init call site: 00007 /src/dovecot/src/lib/randgen.c:185

Runtime coverage analysis

Covered functions
207
Functions that are reachable but not covered
170
Reachable functions
314
Percentage of reachable functions covered
45.86%
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
lib-mail/fuzz-message-parser.c 1
lib-test/fuzzer.c 2
lib/lib.c 6
lib/failures.c 6
lib/randgen.c 4
lib/fd-util.c 2
lib/./lib.h 1
lib/data-stack.c 17
lib/./malloc-overflow.h 2
lib/bits.c 1
lib/./bits.h 1
lib/lib-event.c 20
lib/mempool-alloconly.c 2
lib/./mempool.h 6
lib/time-util.c 2
lib/strfuncs.c 8
lib/imem.c 1
lib/./array.h 10
lib/buffer.c 15
lib/mempool.c 1
lib/event-log.c 2
lib/event-filter.c 19
lib/wildcard-match.c 4
lib/printf-format-fix.c 5
lib/net.c 4
lib/backtrace-string.c 3
lib/str.c 7
lib/mempool-datastack.c 1
lib/./str.h 3
lib/./strfuncs.h 1
lib/hostpid.c 1
lib/var-expand.c 1
lib/lib-signals.c 15
lib/ioloop.c 19
lib/ioloop-notify-inotify.c 2
lib/ioloop-notify-fd.c 1
lib/istream.c 17
lib/ioloop-epoll.c 5
lib/array.c 3
lib/ioloop-iolist.c 2
lib/iostream.c 4
lib/memarea.c 2
lib-test/test-istream.c 1
lib-test/../../src/lib/malloc-overflow.h 1
lib-test/../../src/lib/mempool.h 1
lib-mail/message-parser.c 9
lib-mail/../../src/lib/malloc-overflow.h 1
lib-mail/../../src/lib/mempool.h 2
lib-mail/../../src/lib/array.h 4
lib-mail/../../src/lib/istream.h 1
lib-mail/message-size.c 1
lib-mail/message-header-parser.c 1
lib/iostream-pump.c 3
lib/ostream.c 3
lib/priorityq.c 7

Fuzzer: fuzz-json-istream

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 590 65.7%
gold [1:9] 77 8.58%
yellow [10:29] 3 0.33%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 227 25.3%
All colors 897 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
1587 1632 4 :

['iostream_pump_stop', 'iostream_pump_unref', 'i_stream_unref', 'o_stream_unref']

1587 1632 iostream_pump_destroy call site: 00811 /src/dovecot/src/lib/iostream-pump.c:211
759 759 1 :

['json_parser_callback_string_stream']

759 759 json_parser_do_parse_value call site: 00000 /src/dovecot/src/lib-json/json-parser.c:1973
715 760 2 :

['json_string_stream_create', 'i_stream_unref']

715 968 json_parser_callback_string_value call site: 00000 /src/dovecot/src/lib-json/json-parser.c:543
420 469 9 :

['i_panic', 'i_stream_have_bytes_left', 'i_stream_get_error', 'i_stream_skip', 'json_istream_set_error', 'i_stream_get_name', 'i_stream_seek', 'i_stream_read_more', 'json_istream_consumed_value_stream']

420 469 json_istream_consume_value_stream call site: 00654 /src/dovecot/src/lib-json/json-istream.c:743
107 107 4 :

['json_node_is_end', 'i_panic', 'json_node_is_singular.132', 'json_tree_node_add']

107 1543 json_istream_read_tree call site: 00612 /src/dovecot/src/lib-json/json-istream.c:939
33 33 1 :

['i_stream_seek']

71 83 i_stream_read_memarea call site: 00703 /src/dovecot/src/lib/istream.c:344
16 16 2 :

['i_stream_get_name', 'i_stream_get_error']

16 698 json_parser_continue call site: 00776 /src/dovecot/src/lib-json/json-parser.c:2215
16 16 2 :

['i_panic', 'i_stream_get_name']

16 16 i_stream_default_snapshot call site: 00000 /src/dovecot/src/lib/istream.c:229
15 15 1 :

['random_open_urandom']

37 37 random_read call site: 00016 /src/dovecot/src/lib/randgen.c:88
12 2518 5 :

['json_parser_shift', 'json_parser_curchar', 'json_parser_parse_value', 'json_parser_skip_ws', 'i_unreached']

12 3882 json_parser_parse_text call site: 00000 /src/dovecot/src/lib-json/json-parser.c:2111
10 10 1 :

['i_stream_init_parent']

10 13 i_stream_create call site: 00596 /src/dovecot/src/lib/istream.c:1250
10 10 2 :

['i_panic', 'i_unreached']

10 10 json_istream_parse_list_close call site: 00000 /src/dovecot/src/lib-json/json-istream.c:307

Runtime coverage analysis

Covered functions
217
Functions that are reachable but not covered
220
Reachable functions
407
Percentage of reachable functions covered
45.95%
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
lib-json/fuzz-json-istream.c 1
lib-test/fuzzer.c 2
lib/lib.c 6
lib/failures.c 6
lib/randgen.c 4
lib/fd-util.c 2
lib/./lib.h 1
lib/data-stack.c 17
lib/./malloc-overflow.h 2
lib/bits.c 1
lib/./bits.h 1
lib/lib-event.c 20
lib/mempool-alloconly.c 2
lib/./mempool.h 6
lib/time-util.c 2
lib/strfuncs.c 8
lib/imem.c 2
lib/./array.h 10
lib/buffer.c 15
lib/mempool.c 1
lib/event-log.c 2
lib/event-filter.c 19
lib/wildcard-match.c 4
lib/printf-format-fix.c 5
lib/net.c 4
lib/backtrace-string.c 3
lib/str.c 7
lib/mempool-datastack.c 1
lib/./str.h 3
lib/./strfuncs.h 1
lib/hostpid.c 1
lib/var-expand.c 1
lib/lib-signals.c 15
lib/ioloop.c 19
lib/ioloop-notify-inotify.c 2
lib/ioloop-notify-fd.c 1
lib/istream.c 24
lib/ioloop-epoll.c 5
lib/array.c 3
lib/ioloop-iolist.c 2
lib/iostream.c 6
lib/memarea.c 2
lib-test/test-istream.c 1
lib-test/../../src/lib/malloc-overflow.h 1
lib-test/../../src/lib/mempool.h 1
lib-json/json-istream.c 13
lib-json/../../src/lib/malloc-overflow.h 1
lib-json/../../src/lib/mempool.h 4
lib-json/json-parser.c 14
lib-json/../../src/lib/array.h 5
lib-json/./json-types.h 2
lib-json/json-tree.c 9
lib-json/../../src/lib/lib.h 1
lib-json/../../src/lib/istream.h 2
lib/unichar.c 2
lib/./unichar.h 2
lib/iostream-pump.c 3
lib/ostream.c 3
lib/priorityq.c 7

Fuzzer: fuzz-smtp-server

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 1862 50.7%
gold [1:9] 117 3.18%
yellow [10:29] 16 0.43%
greenyellow [30:49] 9 0.24%
lawngreen 50+ 1668 45.4%
All colors 3672 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
2733 4874 3 :

['smtp_server_connection_input_lock', 'smtp_server_connection_ssl_init', 'smtp_server_connection_close']

4070 10838 smtp_server_connection_input call site: 00000 /src/dovecot/src/lib-smtp/smtp-server-connection.c:575
2518 4643 11 :

['smtp_param_parse', 'smtp_params_mail_parse_envid', 't_str_ucase', 'pool_datastack_create', 'strcmp', 'smtp_params_mail_parse_auth', 'smtp_params_mail_add_extra', 'str_array_icase_find', 'smtp_params_mail_parse_body', 'smtp_params_mail_parse_ret', 'smtp_params_mail_parse_size']

2518 4643 smtp_params_mail_parse call site: 02465 /src/dovecot/src/lib-smtp/smtp-params.c:562
2467 7965 28 :

['smtp_param_parse', 't_strsplit', 't_str_ucase', 'pool_datastack_create', 'strcmp', 'smtp_server_command_input_lock', 'p_strdup', 'str_begins_builtin_success.2094', 'net_str2port', 'array_is_created_i.2093', 'smtp_server_connection_is_trusted', 'smtp_server_command_ref', 'str_begins_icase', 'smtp_xtext_parse', 'p_malloc.2097', 'str_to_uint', 'malloc_multiply_check.2095', 'smtp_server_cmd_xclient_extra_field', 'strncasecmp', 'smtp_server_connection_set_state', 'smtp_helo_domain_parse', 'array_get_i.2092', 'connection_is_valid_dns_name', 'smtp_server_command_unref', 'strcasecmp', 'smtp_server_command_add_hook', 'cmd_xclient_check_state', 'net_addr2ip']

2467 21762 smtp_server_cmd_xclient call site: 03156 /src/dovecot/src/lib-smtp/smtp-server-cmd-xclient.c:101
2033 2033 2 :

['o_stream_get_disconnect_reason', 'smtp_server_connection_handle_output_error']

2713 4077 smtp_server_reply_send_real call site: 01580 /src/dovecot/src/lib-smtp/smtp-server-reply.c:638
1537 2459 7 :

['t_strsplit', 'smtp_server_command_input_lock', 'p_strdup', 'malloc_multiply_check.1825', 'cmd_auth_check_state', 'p_malloc.1827', 'smtp_server_command_add_hook']

1537 5525 smtp_server_cmd_auth call site: 01324 /src/dovecot/src/lib-smtp/smtp-server-cmd-auth.c:195
1533 2245 2 :

['smtp_address_encode', 'smtp_server_reply_index']

1533 2245 smtp_server_recipient_replyv call site: 02836 /src/dovecot/src/lib-smtp/smtp-server-recipient.c:211
1421 1421 2 :

['event_reason_begin', 'event_reason_code']

1421 1421 smtp_server_connection_reason_begin call site: 02537 /src/dovecot/src/lib-smtp/smtp-server-connection.c:1668
1383 1383 4 :

['t_strdup', 'o_stream_lseek', 'o_stream_get_error', 'writev']

1387 1387 o_stream_file_writev call site: 00000 /src/dovecot/src/lib/ostream-file.c:165
1333 1333 1 :

['smtp_server_connection_handle_output_error']

1333 1333 smtp_server_connection_flush call site: 01379 /src/dovecot/src/lib-smtp/smtp-server-connection.c:683
1145 2549 8 :

['smtp_param_parse', 't_str_ucase', 'pool_datastack_create', 'strcmp', 'str_array_icase_find', 'smtp_params_rcpt_parse_notify', 'smtp_params_rcpt_parse_orcpt', 'smtp_params_rcpt_add_extra']

1145 2549 smtp_params_rcpt_parse call site: 02630 /src/dovecot/src/lib-smtp/smtp-params.c:1147
991 991 2 :

['stat', 'iostream_rawlog_create']

991 991 smtp_server_connection_update_rawlog call site: 01403 /src/dovecot/src/lib-smtp/smtp-server-connection.c:150
778 778 1 :

['io_loop_notify_handler_deinit']

1524 2433 io_loop_destroy call site: 03636 /src/dovecot/src/lib/ioloop.c:875

Runtime coverage analysis

Covered functions
762
Functions that are reachable but not covered
433
Reachable functions
1060
Percentage of reachable functions covered
59.15%
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
lib-smtp/fuzz-smtp-server.c 2
lib-test/fuzzer.c 2
lib/lib.c 7
lib/failures.c 8
lib/randgen.c 4
lib/fd-util.c 4
lib/./lib.h 1
lib/data-stack.c 22
lib/./malloc-overflow.h 2
lib/bits.c 1
lib/./bits.h 1
lib/lib-event.c 43
lib/mempool-alloconly.c 2
lib/./mempool.h 7
lib/time-util.c 5
lib/strfuncs.c 37
lib/imem.c 3
lib/./array.h 12
lib/buffer.c 22
lib/mempool.c 2
lib/event-log.c 8
lib/event-filter.c 22
lib/wildcard-match.c 4
lib/printf-format-fix.c 5
lib/net.c 25
lib/backtrace-string.c 3
lib/str.c 9
lib/mempool-datastack.c 1
lib/./str.h 8
lib/./strfuncs.h 3
lib/hostpid.c 2
lib/var-expand.c 6
lib/lib-signals.c 15
lib/ioloop.c 52
lib/ioloop-notify-inotify.c 2
lib/ioloop-notify-fd.c 1
lib/istream.c 24
lib/ioloop-epoll.c 6
lib/array.c 6
lib/ioloop-iolist.c 2
lib/iostream.c 10
lib/memarea.c 2
lib/priorityq.c 12
lib-smtp/smtp-server.c 4
lib-smtp/../../src/lib/malloc-overflow.h 2
lib-smtp/../../src/lib/mempool.h 3
lib-ssl-iostream/iostream-ssl.c 14
lib-ssl-iostream/../../src/lib/malloc-overflow.h 1
lib-ssl-iostream/../../src/lib/mempool.h 2
lib/./lib-event-private.h 1
lib-smtp/./smtp-common.h 1
lib-smtp/smtp-server-connection.c 52
lib/connection.c 23
lib-smtp/smtp-server-command.c 29
lib-smtp/../../src/lib/array.h 9
lib-smtp/smtp-server-cmd-helo.c 7
lib-smtp/smtp-server-reply.c 24
lib-smtp/../../src/lib/str.h 6
lib/ostream.c 29
lib-smtp/smtp-server-transaction.c 10
lib-smtp/smtp-server-recipient.c 16
lib-smtp/smtp-address.c 16
lib-smtp/./smtp-address.h 2
lib-smtp/./smtp-parser.h 7
lib-smtp/smtp-params.c 27
lib/str-sanitize.c 4
lib/unichar.c 3
lib/./unichar.h 2
lib-smtp/smtp-command-parser.c 7
lib/safe-memset.c 1
lib/./buffer.h 1
lib-smtp/./smtp-server-private.h 1
lib-smtp/smtp-reply-parser.c 1
lib-smtp/smtp-reply.c 4
lib-smtp/./smtp-reply.h 1
lib-smtp/smtp-syntax.c 4
lib-smtp/smtp-parser.c 12
lib/strnum.c 10
lib-smtp/smtp-server-cmd-auth.c 4
lib-smtp/smtp-server-cmd-starttls.c 5
lib/iostream-rawlog.c 5
lib/istream-rawlog.c 2
lib/ostream-file.c 5
lib/ostream-rawlog.c 2
lib/./time-util.h 3
lib-smtp/../../src/lib/ostream.h 1
lib-ssl-iostream/iostream-ssl-context-cache.c 4
lib/hash.c 18
lib/primes.c 1
lib/module-dir.c 24
lib-master/master-service-ssl.c 1
lib-settings/settings.c 13
lib-settings/settings-parser.c 28
lib-settings/../../src/lib/str.h 5
lib-settings/../../src/lib/malloc-overflow.h 1
lib-settings/../../src/lib/mempool.h 4
lib-settings/../../src/lib/lib.h 1
lib/str-parse.c 5
lib-settings/../../src/lib/array.h 8
lib-settings/../../src/lib/byteorder.h 2
lib-settings/../../src/lib/strfuncs.h 1
lib-master/../../src/lib/mempool.h 1
lib-smtp/smtp-server-cmd-mail.c 5
lib-smtp/../../src/lib/strfuncs.h 1
lib-smtp/../../src/lib/lib.h 1
lib-smtp/smtp-server-cmd-rcpt.c 7
lib-mail/message-address.c 15
lib-mail/rfc822-parser.c 10
lib-mail/../../src/lib/str.h 5
lib-mail/../../src/lib/malloc-overflow.h 1
lib-mail/../../src/lib/mempool.h 1
lib-mail/../../src/lib/lib.h 1
lib-mail/./rfc822-parser.h 1
lib-smtp/smtp-server-cmd-data.c 21
lib-mail/istream-dot.c 1
lib/istream-failure-at.c 1
lib/istream-chain.c 4
lib/istream-limit.c 1
lib/istream-sized.c 3
lib-smtp/smtp-server-cmd-rset.c 3
lib-smtp/smtp-server-cmd-vrfy.c 2
lib-smtp/smtp-server-cmd-noop.c 2
lib-smtp/smtp-server-cmd-quit.c 1
lib-smtp/smtp-server-cmd-xclient.c 5
lib-smtp/./smtp-command.h 1
lib/guid.c 2
lib/sha1.c 6
lib-smtp/../../src/lib/base64.h 3
lib/base64.c 4
lib/istream-unix.c 1
lib/istream-file.c 2
lib/ostream-unix.c 1
lib/sleep.c 2
lib/iostream-pump.c 3

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
master_service_init /src/dovecot/src/lib-master/master-service.c 5 ['N/A', 'int', 'N/A', 'N/A', 'N/A'] 27 0 755 129 39 670 0 2902 763
master_getopt_long /src/dovecot/src/lib-master/master-service.c 2 ['N/A', 'N/A'] 22 0 131 23 6 463 0 1903 457
master_service_init_finish /src/dovecot/src/lib-master/master-service.c 1 ['N/A'] 35 0 263 47 15 641 0 2922 376
parse_next_mime_header_init /src/dovecot/src/lib-mail/message-parser.c 2 ['N/A', 'N/A'] 20 0 29 3 2 235 0 1132 267
smtp_server_connection_input /src/dovecot/src/lib-smtp/smtp-server-connection.c 1 ['N/A'] 39 0 247 40 14 671 0 3056 179
restrict_access_by_env /src/dovecot/src/lib/restrict-access.c 2 ['int', 'N/A'] 30 0 55 9 4 215 0 889 144
o_stream_file_send_istream /src/dovecot/src/lib/ostream-file.c 2 ['N/A', 'N/A'] 32 0 156 23 10 234 0 1001 142

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

Functions statically reachable by fuzzers
54.0%
1545 / 2850
Cyclomatic complexity statically reachable by fuzzers
60.0%
8394 / 13886

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 Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

lib-imap/fuzz-imap-utf7.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['lib_signals_init', 'iostream_pump_destroy', 'i_snprintf', 'printf_format_fix_noalloc', 'event_want_log_level', 't_malloc_real', 'buffer_check_append_limits', 'str_vprintfa', 'random_read']

lib-imap/fuzz-imap-bodystructure.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['iostream_pump_destroy', 'io_stream_free', 'i_snprintf', 'lib_signals_init', 'p_strdup_vprintf', 'event_want_log_level', 't_malloc_real', 'str_vprintfa', 'imap_parser_read_literal', 'printf_format_fix_noalloc']

lib-mail/fuzz-message-parser.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['iostream_pump_destroy', 'i_snprintf', 'i_stream_snapshot_free', 'lib_signals_init', 'p_strdup_vprintf', 'buffer_set_used_size', 'buffer_delete', 'event_want_log_level', 't_malloc_real', 'printf_format_fix_noalloc']

lib-json/fuzz-json-istream.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['iostream_pump_destroy', 'i_stream_snapshot_free', 'i_snprintf', 'buffer_check_limits', 'p_strdup_vprintf', 'buffer_set_used_size', 'lib_signals_init', 't_malloc_no0', 'json_tree_unref', 'json_tree_node_add_value']

lib-smtp/fuzz-smtp-server.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['t_memdup', 'array_get_i', 'str_truncate', 'p_strdup_until', 'smtp_server_cmd_xclient', 'array_sort_i', 'smtp_server_connection_output', 'i_snprintf', 'smtp_server_cmd_mail']

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/dovecot/src/lib/hash.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib-imap/imap-quote.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib-smtp/smtp-address.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-smtp/smtp-server-reply.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/./strfuncs.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-imap/imap-utf7.c ['fuzz-imap-utf7'] ['fuzz-imap-utf7']
/src/dovecot/src/lib/str-parse.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/lib-signals.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-mail/fuzz-message-parser.c ['fuzz-message-parser'] ['fuzz-message-parser']
/src/dovecot/src/lib-json/json-tree.c ['fuzz-json-istream'] ['fuzz-json-istream']
/src/dovecot/src/lib/./malloc-overflow.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/md4.c [] []
/src/dovecot/src/lib/buffer.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-smtp/smtp-server-recipient.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-mail/message-part.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib-smtp/smtp-server-cmd-rset.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/home-expand.c [] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-quit.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/./mempool.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/pkcs5.c [] []
/src/dovecot/src/lib/istream-chain.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/failures.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/mempool-alloconly.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/sleep.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/ostream-rawlog.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/lib.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-smtp/smtp-server-cmd-xclient.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/str-sanitize.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-smtp/fuzz-smtp-server.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/nfs-workarounds.c [] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-mail.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/module-dir.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/array.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/sha1.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-smtp/./smtp-server-private.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/./time-util.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib-json/fuzz-json-istream.c ['fuzz-json-istream'] ['fuzz-json-istream']
/src/dovecot/src/lib-smtp/smtp-server-transaction.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-master/syslog-util.c [] []
/src/dovecot/src/lib/strescape.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib/ostream-buffer.c [] []
/src/dovecot/src/lib-smtp/./smtp-syntax.h [] []
/src/dovecot/src/lib-test/fuzzer.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-mail/message-date.c [] []
/src/dovecot/src/lib/iostream-pump.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-imap/fuzz-imap-bodystructure.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib-master/master-service-ssl-settings.c [] []
/src/dovecot/src/lib/./istream.h [] []
/src/dovecot/src/lib-json/./json-syntax.h [] []
/src/dovecot/src/lib-settings/settings-parser.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib-test/test-istream.c ['fuzz-message-parser', 'fuzz-json-istream'] ['fuzz-message-parser', 'fuzz-json-istream']
/src/dovecot/src/lib/file-dotlock.c [] []
/src/dovecot/src/lib/lib-event.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-json/../../src/lib/unichar.h [] []
/src/dovecot/src/lib/iostream.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/strnum.c ['fuzz-imap-bodystructure', 'fuzz-smtp-server'] ['fuzz-imap-bodystructure', 'fuzz-smtp-server']
/src/dovecot/src/lib-smtp/smtp-server-command.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/./hmac.h [] []
/src/dovecot/src/lib/priorityq.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/primes.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/wildcard-match.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-auth.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/./lib-event-private.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/ostream-file.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-json/json-istream.c ['fuzz-json-istream'] ['fuzz-json-istream']
/src/dovecot/src/lib-smtp/./smtp-parser.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib-master/master-instance.c [] []
/src/dovecot/src/lib/event-filter-lexer.l [] []
/src/dovecot/src/lib-json/./json-types.h ['fuzz-json-istream'] []
/src/dovecot/src/lib/istream.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/event-filter-parser.y [] []
/src/dovecot/src/lib-smtp/smtp-command-parser.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/istream-data.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib-master/../../src/lib/byteorder.h [] []
/src/dovecot/src/lib/hex-binary.c [] []
/src/dovecot/src/lib/ipwd.c [] []
/src/dovecot/src/lib-master/master-admin-client.c [] []
/src/dovecot/src/lib/event-filter-lexer.c [] []
/src/dovecot/src/lib/md5.c [] []
/src/dovecot/src/lib-smtp/../../src/lib/str.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/event-filter.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/./var-expand.h [] []
/src/dovecot/src/lib-master/stats-client.c [] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-vrfy.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/path-util.c [] []
/src/dovecot/src/lib/fd-util.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-mail/message-size.c ['fuzz-message-parser'] ['fuzz-message-parser']
/src/dovecot/src/lib-smtp/smtp-server-cmd-helo.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-smtp/smtp-common.c [] []
/src/dovecot/src/lib/./lib.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/sendfile-util.c [] []
/src/dovecot/src/lib/safe-mkstemp.c [] []
/src/dovecot/src/lib-mail/istream-dot.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/safe-memset.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-mail/message-header-parser.c ['fuzz-message-parser'] ['fuzz-message-parser']
/src/dovecot/src/lib-settings/../../src/lib/array.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/str.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/istream-sized.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/env-util.c [] []
/src/dovecot/src/lib/mempool-unsafe-datastack.c [] []
/src/dovecot/src/lib-mail/./rfc822-parser.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/istream-seekable.c [] []
/src/dovecot/src/lib/data-stack.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/ioloop.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-imap/../../src/lib/mempool.h ['fuzz-imap-bodystructure'] []
/src/dovecot/src/lib-smtp/smtp-params.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/mempool-system.c [] []
/src/dovecot/src/lib/net.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/ostream.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/unichar.c ['fuzz-imap-utf7', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/write-full.c [] []
/src/dovecot/src/lib-smtp/./smtp-command.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/istream-rawlog.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/file-lock.c [] []
/src/dovecot/src/lib-smtp/./smtp-common.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-starttls.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/ioloop-notify-inotify.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/./strescape.h [] []
/src/dovecot/src/lib-smtp/smtp-syntax.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/event-log.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-smtp-server']
/src/dovecot/src/lib/./base64.h [] []
/src/dovecot/src/lib-smtp/./smtp-reply.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/imem.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/bits.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/hmac.c [] []
/src/dovecot/src/lib-json/./json-tree.h [] []
/src/dovecot/src/lib/hash-method.c [] []
/src/dovecot/src/lib-master/master-service-ssl.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-data.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-mail/message-parser.c ['fuzz-message-parser'] ['fuzz-message-parser']
/src/dovecot/src/lib/./str.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/istream-limit.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-master/../../src/lib/ostream.h [] []
/src/dovecot/src/lib/fdpass.c [] []
/src/dovecot/src/lib/mempool-datastack.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-smtp-server']
/src/dovecot/src/lib/printf-format-fix.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-mail/rfc2231-parser.c [] []
/src/dovecot/src/lib/iostream-rawlog.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/utc-offset.c [] []
/src/dovecot/src/lib-imap/imap-envelope.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib/ioloop-epoll.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/mmap-util.c [] []
/src/dovecot/src/lib/hostpid.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/strfuncs.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-smtp/./smtp-address.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/ioloop-iolist.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/connection.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/event-filter-parser.c [] []
/src/dovecot/src/lib/backtrace-string.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-master/../../src/lib/guid.h [] []
/src/dovecot/src/lib/guid.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/base64.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/var-expand-if.c [] []
/src/dovecot/src/lib-smtp/smtp-server-connection.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-smtp/./smtp-params.h [] []
/src/dovecot/src/lib/ostream-unix.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/process-title.c [] []
/src/dovecot/src/lib-imap/imap-parser.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib/punycode.c [] []
/src/dovecot/src/lib-mail/message-address.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/utc-mktime.c [] []
/src/dovecot/src/lib/istream-file.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/mempool.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/istream-unix.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib-imap/fuzz-imap-utf7.c ['fuzz-imap-utf7'] ['fuzz-imap-utf7']
/src/dovecot/src/lib-ssl-iostream/iostream-ssl.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/var-expand.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib/randgen.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-mail/rfc822-parser.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/time-util.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-smtp-server']
/src/dovecot/src/lib/cpu-count.c [] []
/src/dovecot/src/lib/ioloop-notify-fd.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-imap/imap-arg.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib/eacces-error.c [] []
/src/dovecot/src/lib/istream-concat.c [] []
/src/dovecot/src/lib-smtp/smtp-reply.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-imap/imap-bodystructure.c ['fuzz-imap-bodystructure'] ['fuzz-imap-bodystructure']
/src/dovecot/src/lib-smtp/smtp-server.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-master/master-service-haproxy.c [] []
/src/dovecot/src/lib/read-full.c [] []
/src/dovecot/src/lib-settings/settings.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-noop.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/./array.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-master/master-service.c [] []
/src/dovecot/src/lib-smtp/smtp-parser.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib/restrict-access.c [] []
/src/dovecot/src/lib-smtp/smtp-server-cmd-rcpt.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-mail/../../src/lib/strfuncs.h [] []
/src/dovecot/src/lib/memarea.c ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] ['fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server']
/src/dovecot/src/lib-settings/../../src/lib/byteorder.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib/sha2.c [] []
/src/dovecot/src/lib/./buffer.h ['fuzz-smtp-server'] []
/src/dovecot/src/lib-smtp/smtp-reply-parser.c ['fuzz-smtp-server'] ['fuzz-smtp-server']
/src/dovecot/src/lib-ssl-iostream/iostream-ssl-context-cache.c ['fuzz-smtp-server'] []
/src/dovecot/src/lib/./unichar.h ['fuzz-imap-utf7', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib/rand.c [] []
/src/dovecot/src/lib/sha3.c [] []
/src/dovecot/src/lib/./bits.h ['fuzz-imap-utf7', 'fuzz-imap-bodystructure', 'fuzz-message-parser', 'fuzz-json-istream', 'fuzz-smtp-server'] []
/src/dovecot/src/lib-json/json-parser.c ['fuzz-json-istream'] ['fuzz-json-istream']
/src/dovecot/src/lib/istream-failure-at.c ['fuzz-smtp-server'] ['fuzz-smtp-server']

Directories in report

Directory
/src/dovecot/src/lib-imap/../../src/lib/
/src/dovecot/src/lib-master/../../src/lib/
/src/dovecot/src/lib/
/src/dovecot/src/lib-json/
/src/dovecot/src/lib-json/./
/src/dovecot/src/lib-mail/
/src/dovecot/src/lib-mail/../../src/lib/
/src/dovecot/src/lib-master/
/src/dovecot/src/lib/./
/src/dovecot/src/lib-ssl-iostream/
/src/dovecot/src/lib-smtp/
/src/dovecot/src/lib-test/
/src/dovecot/src/lib-smtp/./
/src/dovecot/src/lib-settings/
/src/dovecot/src/lib-mail/./
/src/dovecot/src/lib-imap/
/src/dovecot/src/lib-json/../../src/lib/
/src/dovecot/src/lib-settings/../../src/lib/
/src/dovecot/src/lib-smtp/../../src/lib/