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: src/fe-fuzz/irc/core/event-get-params.c

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 10 38.4%
gold [1:9] 3 11.5%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 13 50.0%
All colors 26 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
9 16 event_get_params call site: 00016 event_get_params
1 0 EP call site: 00000

Runtime coverage analysis

Covered functions
2381
Functions that are reachable but not covered
8
Reachable functions
15
Percentage of reachable functions covered
46.67%
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
src/fe-fuzz/irc/core/event-get-params.c 4
src/irc/core/irc.c 11

Fuzzer: src/fe-fuzz/fe-common/core/theme-load.c

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 96 21.0%
gold [1:9] 13 2.85%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 2.63%
lawngreen 50+ 335 73.4%
All colors 456 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
19 133 i_refstr_intern call site: 00133 signal_continue
19 153 i_refstr_release call site: 00153 collector_free
11 173 printtext_append_str call site: 00173 format_expand_styles
9 123 print_line call site: 00123 sig_print_noformat
4 58 config_open call site: 00058 read_error
4 360 config_parse call site: 00360 config_error
3 96 config_node_get_bool call site: 00096 window_item_get_target
3 387 config_node_traverse call site: 00387 config_node_remove
3 448 theme_real_destroy call site: 00448 window_themes_update
2 19 theme_load call site: 00019
2 74 window_item_find_window call site: 00074 settings_get_bool
2 79 settings_get call site: 00079

Runtime coverage analysis

Covered functions
2381
Functions that are reachable but not covered
65
Reachable functions
209
Percentage of reachable functions covered
68.9%
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
src/fe-fuzz/fe-common/core/theme-load.c 9
src/fe-common/core/themes.c 44
src/core/signals.c 16
src/lib-config/parse.c 37
src/fe-common/core/printtext.c 18
src/fe-common/core/formats.c 14
src/fe-common/core/fe-windows.c 7
src/fe-common/core/window-items.c 3
src/core/settings.c 7
src/lib-config/get.c 29
src/fe-text/textbuffer-formats.c 21
src/core/refstrings.c 2
src/core/special-vars.c 2
src/fe-text/textbuffer.c 3
src/lib-config/set.c 16

Fuzzer: src/fe-fuzz/irssi.c

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 58 31.1%
gold [1:9] 1 0.53%
yellow [10:29] 0 0.0%
greenyellow [30:49] 8 4.30%
lawngreen 50+ 119 63.9%
All colors 186 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
19 144 i_refstr_intern call site: 00144 signal_continue
19 164 i_refstr_release call site: 00164 collector_free
9 134 print_line call site: 00134 sig_print_noformat
3 37 config_node_get_bool call site: 00037 window_item_get_target
2 15 window_item_find_window call site: 00015 settings_get_bool
2 20 settings_get call site: 00020
1 0 EP call site: 00000
1 41 window_find_closest call site: 00041 WINDOW_LEVEL_MATCH
1 59 signal_emit_real call site: 00059 signal_hooks_clean
1 184 printtext_string call site: 00184

Runtime coverage analysis

Covered functions
2381
Functions that are reachable but not covered
56
Reachable functions
139
Percentage of reachable functions covered
59.71%
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
src/fe-fuzz/irssi.c 5
src/fe-common/core/printtext.c 11
src/fe-common/core/formats.c 14
src/fe-common/core/fe-windows.c 7
src/fe-common/core/window-items.c 3
src/core/settings.c 7
src/lib-config/get.c 7
src/core/signals.c 15
src/fe-text/textbuffer-formats.c 21
src/core/refstrings.c 2
src/core/special-vars.c 2
src/fe-text/textbuffer.c 3

Fuzzer: src/fe-fuzz/server.c

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 213 41.3%
gold [1:9] 21 4.07%
yellow [10:29] 11 2.13%
greenyellow [30:49] 9 1.74%
lawngreen 50+ 261 50.6%
All colors 515 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
87 123 create_addr_conn call site: 00123 server_setup_fill_server
40 211 create_addr_conn call site: 00211 server_setup_fill_optlist
10 93 config_node_get_int call site: 00093 settings_get_str
10 426 server_disconnect call site: 00426 server_connect_failed
7 412 server_connect_unref call site: 00412 server_unref
6 279 parse_time_interval_uint call site: 00279
6 299 server_connect_init call site: 00299 g_free_not_null
5 443 net_sendbuffer_destroy call site: 00443 server_unref
5 509 server_unref call site: 00509 test_server
4 15 chatnet_find call site: 00015 create_chatnet_conn
3 84 config_node_get_bool call site: 00084 settings_get_int
3 313 server_create_address_tag call site: 00313

Runtime coverage analysis

Covered functions
2381
Functions that are reachable but not covered
74
Reachable functions
153
Percentage of reachable functions covered
51.63%
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
src/fe-fuzz/server.c 28
src/core/chat-protocols.c 2
src/core/servers-setup.c 42
src/core/chatnets.c 2
src/core/signals.c 16
src/irc/core/irc-core.c 1
src/core/modules.c 8
src/core/settings.c 11
src/lib-config/get.c 8
src/core/network.c 12
src/core/capsicum.c 12
src/core/servers.c 56
src/irc/core/irc-servers.c 9
src/core/misc.c 12
src/core/net-sendbuffer.c 7
src/irc/core/irc-session.c 2
src/irc/core/irc.c 3
tests/irc/flood/test-796.c 3
src/core/net-nonblock.c 2
src/core/line-split.c 1
src/core/channels.c 7
src/core/queries.c 5
src/core/net-disconnect.c 5
src/core/rawlog.c 6
src/core/write-buffer.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
cmd_lastlog /src/irssi/src/fe-text/lastlog.c 1 ['char*'] 27 0 35 10 14 366 0 1261 819
sig_message_public /src/irssi/src/fe-common/core/fe-messages.c 6 ['SERVER_REC*', 'char*', 'char*', 'char*', 'char*', 'NICK_REC*'] 10 0 41 10 13 146 0 387 232
cmd_statusbar_add_modify /src/irssi/src/fe-text/statusbar-config.c 3 ['char*', 'void*', 'void*'] 20 0 71 23 24 272 0 717 229
event_starttls /src/irssi/src/irc/core/irc-servers.c 2 ['IRC_SERVER_REC*', 'char*'] 13 0 16 4 4 276 0 304 211
cmd_ignore /src/irssi/src/fe-common/core/fe-ignore.c 1 ['char*'] 7 0 75 19 25 118 0 342 187
cmd_dcc_send /src/irssi/src/irc/dcc/dcc-send.c 3 ['char*', 'IRC_SERVER_REC*', 'WI_ITEM_REC*'] 15 0 39 15 18 210 0 363 144
cmd_load /src/irssi/src/fe-common/core/fe-modules.c 1 ['char*'] 12 0 26 7 6 164 0 297 134

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

Functions statically reachable by fuzzers
19.0%
640 / 3342
Cyclomatic complexity statically reachable by fuzzers
28.0%
2716 / 9623

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

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.

src/fe-fuzz/irc/core/event-get-params.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=['event_get_params']

src/fe-fuzz/fe-common/core/theme-load.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=['i_refstr_intern', 'i_refstr_release', 'printtext_append_str', 'print_line', 'config_open', 'config_parse', 'config_node_get_bool', 'config_node_traverse', 'theme_real_destroy', 'theme_load']

src/fe-fuzz/irssi.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=['i_refstr_intern', 'i_refstr_release', 'print_line', 'config_node_get_bool', 'window_item_find_window', 'settings_get', 'window_find_closest', 'signal_emit_real', 'printtext_string']

src/fe-fuzz/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=['create_addr_conn', 'config_node_get_int', 'server_disconnect', 'server_connect_unref', 'parse_time_interval_uint', 'server_connect_init', 'net_sendbuffer_destroy', 'server_unref', 'chatnet_find']

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
get_cmd_options 72 14 19.44% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
ignore_check_flags 50 27 54.0% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
read_ignores 33 10 30.30% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
parse_size_uint 53 15 28.30% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
irssi_ssl_handshake 98 28 28.57% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
irssi_ssl_get_iochannel 116 52 44.82% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
sig_reconnect 72 29 40.27% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
settings_check_module 46 10 21.73% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
get_special_value 55 17 30.90% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
get_variable 38 8 21.05% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
format_read_arglist 51 7 13.72% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
hilight_match 36 10 27.77% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
read_hilight_config 45 11 24.44% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
printtext_get_args 62 19 30.64% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
msg_join 42 12 28.57% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
channel_rejoin 31 7 22.58% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
irc_channels_query_purge_accountquery 32 8 25.0% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
sig_event_join 66 25 37.87% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
init_ssl_loop 35 10 28.57% ['/src/irssi/src/fe-fuzz/irssi.c', '/src/irssi/src/fe-fuzz/server.c', '/src/irssi/src/fe-fuzz/irc/core/event-get-params.c', '/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c']
ptr_array_free 33 16 48.48%
g_convert_with_iconv 99 50 50.50%
g_convert_with_fallback 148 77 52.02%
convert_checked 39 12 30.76%
g_date_time_get_week_number 38 20 52.63%
g_mkdir_with_parents 61 5 8.196%
g_file_error_from_errno 103 7 6.796%
get_contents_posix 54 17 31.48%
get_contents_stdio 83 38 45.78%
g_hash_table_remove_all_nodes 57 27 47.36%
g_io_channel_error_from_errno 58 11 18.96%
g_io_channel_seek_position 62 28 45.16%
g_io_channel_set_encoding 93 28 30.10%
g_io_channel_write_chars 236 51 21.61%
g_io_channel_purge 31 14 45.16%
g_io_channel_fill_buffer 139 27 19.42%
g_io_channel_new_file 121 54 44.62%
g_io_unix_read 31 10 32.25%
g_io_unix_seek 39 17 43.58%
find_source_list_for_priority 34 16 47.05%
g_source_unref_internal 81 10 12.34%
g_logv 93 48 51.61%
g_option_context_parse 258 65 25.19%
free_changes_list 40 11 27.50%
g_scanner_get_token_i 50 27 54.0%
g_scanner_get_token_ll 493 257 52.12%
g_slice_free_chain_with_offset 55 25 45.45%
g_time_zone_new_identifier 86 32 37.20%
g_time_zone_adjust_time 43 5 11.62%
parse_time 51 25 49.01%
fast_validate 61 9 14.75%
g_find_program_in_path 66 18 27.27%
_g_locale_get_charset_aliases 92 32 34.78%
AES_set_encrypt_key 90 49 54.44%
asn1_item_embed_free 78 9 11.53%
_dopr 262 78 29.77%
doapr_outch 36 10 27.77%
buffer_write 58 14 24.13%
buffer_ctrl 166 51 30.72%
file_ctrl 101 18 17.82%
mem_ctrl 76 15 19.73%
sock_ctrl 38 19 50.0%
def_load_bio 257 120 46.69%
str_copy 124 60 48.38%
ecx_key_op 69 28 40.57%
engine_list_add 38 19 50.0%
engine_table_select 48 7 14.58%
get_error_values 69 11 15.94%
EVP_CipherInit_ex 107 56 52.33%
evp_EncryptDecryptUpdate 73 15 20.54%
int_ctx_new 54 25 46.29%
CRYPTO_new_ex_data 35 17 48.57%
CRYPTO_free_ex_data 39 18 46.15%
CRYPTO_ctr128_encrypt 48 25 52.08%
RAND_DRBG_set 36 15 41.66%
RAND_DRBG_generate 57 30 52.63%
rand_pool_acquire_entropy 61 22 36.06%
X509_load_cert_crl_file 38 11 28.94%
X509_STORE_new 37 13 35.13%
ssl3_read_n 97 42 43.29%
do_ssl3_write 328 127 38.71%
ssl3_read_bytes 330 24 7.272%
ssl3_get_record 401 33 8.229%
tls1_enc 207 25 12.07%
ssl3_ctrl 276 19 6.884%
ssl_generate_pkey_group 41 18 43.90%
ssl_cert_dup 107 40 37.38%
check_suiteb_cipher_list 43 12 27.90%
ssl_cipher_process_rulestr 199 97 48.74%
SSL_ctrl 84 9 10.71%
SSL_get_error 57 21 36.84%
ssl_do_config 58 17 29.31%
tls_construct_ctos_supported_groups 33 17 51.51%
tls_construct_ctos_session_ticket 35 17 48.57%
tls_construct_ctos_status_request 58 5 8.620%
tls_construct_ctos_use_srtp 31 5 16.12%
tls_construct_ctos_supported_versions 34 14 41.17%
tls_construct_ctos_early_data 133 24 18.04%
tls_construct_ctos_padding 35 5 14.28%
tls_construct_ctos_psk 113 11 9.734%
add_key_share 39 19 48.71%
custom_ext_add 53 8 15.09%
custom_exts_copy 34 7 20.58%
state_machine 121 66 54.54%
read_state_machine 118 35 29.66%
write_state_machine 120 64 53.33%
ossl_statem_client_write_transition 105 12 11.42%
ossl_statem_client_pre_work 31 11 35.48%
ossl_statem_client_post_work 80 13 16.25%
ossl_statem_client_construct_message 56 10 17.85%
tls_construct_client_hello 115 47 40.86%
ssl_cipher_list_to_bytes 74 38 51.35%
tls_setup_handshake 51 15 29.41%
tls_get_message_header 73 15 20.54%
tls12_sigalg_allowed 45 17 37.77%
parse_long_option 90 37 41.11%
parse_arg 165 22 13.33%
g_scanner_unexp_token 285 117 41.05%

Fuzz driver synthesis

New fuzzers

The below fuzzers are templates and suggestions for how to target the set of optimal functions above

lastlog.c

Target file: /src/irssi/src/fe-text/lastlog.c
Target functions: cmd_lastlog
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target cmd_lastlog */
  char *new_var0 = ada_safe_get_char_p();
  cmd_lastlog(new_var0);

  af_safe_gb_cleanup();
}

fe-messages.c

Target file: /src/irssi/src/fe-common/core/fe-messages.c
Target functions: sig_message_public
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target sig_message_public */
  UNKNOWN_TYPE unknown_1;
  char *new_var2 = ada_safe_get_char_p();
  char *new_var3 = ada_safe_get_char_p();
  char *new_var4 = ada_safe_get_char_p();
  char *new_var5 = ada_safe_get_char_p();
  UNKNOWN_TYPE unknown_6;
  sig_message_public(unknown_1, new_var2, new_var3, new_var4, new_var5, unknown_6);

  af_safe_gb_cleanup();
}

statusbar-config.c

Target file: /src/irssi/src/fe-text/statusbar-config.c
Target functions: cmd_statusbar_add_modify
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target cmd_statusbar_add_modify */
  char *new_var7 = ada_safe_get_char_p();
  UNKNOWN_TYPE unknown_8;
  UNKNOWN_TYPE unknown_9;
  cmd_statusbar_add_modify(new_var7, unknown_8, unknown_9);

  af_safe_gb_cleanup();
}

irc-servers.c

Target file: /src/irssi/src/irc/core/irc-servers.c
Target functions: event_starttls
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target event_starttls */
  UNKNOWN_TYPE unknown_10;
  char *new_var11 = ada_safe_get_char_p();
  event_starttls(unknown_10, new_var11);

  af_safe_gb_cleanup();
}

fe-ignore.c

Target file: /src/irssi/src/fe-common/core/fe-ignore.c
Target functions: cmd_ignore
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target cmd_ignore */
  char *new_var12 = ada_safe_get_char_p();
  cmd_ignore(new_var12);

  af_safe_gb_cleanup();
}

dcc-send.c

Target file: /src/irssi/src/irc/dcc/dcc-send.c
Target functions: cmd_dcc_send
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target cmd_dcc_send */
  char *new_var13 = ada_safe_get_char_p();
  UNKNOWN_TYPE unknown_14;
  UNKNOWN_TYPE unknown_15;
  cmd_dcc_send(new_var13, unknown_14, unknown_15);

  af_safe_gb_cleanup();
}

fe-modules.c

Target file: /src/irssi/src/fe-common/core/fe-modules.c
Target functions: cmd_load
#include "ada_fuzz_header.h"

int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  af_safe_gb_init(data, size);

  /* target cmd_load */
  char *new_var16 = ada_safe_get_char_p();
  cmd_load(new_var16);

  af_safe_gb_cleanup();
}

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/irssi/src/core/modules.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/settings.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c']
/src/irssi/src/core/nickmatch-cache.c [] []
/src/irssi/src/fe-common/core/formats.h [] []
/src/irssi/src/fe-text/gui-windows.h [] []
/src/irssi/tests/irc/core/test-channel-events.c [] []
/src/irssi/src/irc/dcc/dcc-chat.h [] []
/src/irssi/src/fe-common/irc/fe-sasl.c [] []
/src/irssi/src/irc/core/irc-masks.c [] []
/src/irssi/src/irc/core/irc-queries.h [] []
/src/irssi/src/irc/core/irc-channels-setup.c [] []
/src/irssi/src/irc/notifylist/notify-whois.c [] []
/src/irssi/src/core/rawlog.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/network.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/perl/perl-signals.c [] []
/src/irssi/src/core/wcwidth.c [] []
/src/irssi/src/perl/perl-common.c [] []
/src/irssi/src/irc/core/modes.c [] []
/src/irssi/src/core/utf8.c [] []
/src/irssi/src/core/session.c [] []
/src/irssi/src/fe-common/core/fe-windows.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']
/src/irssi/src/core/signals.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c']
/src/irssi/src/fe-common/core/fe-core-commands.c [] []
/src/irssi/src/irc/notifylist/notify-commands.c [] []
/src/irssi/src/fe-common/core/fe-capsicum.c [] []
/src/irssi/src/fe-common/core/completion.c [] []
/src/irssi/src/core/net-disconnect.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/irc/core/lag.c [] []
/src/irssi/src/irc/dcc/dcc.h [] []
/src/irssi/src/core/chat-protocols.h [] []
/src/irssi/src/irc/core/irc-commands.h [] []
/src/irssi/src/irc/proxy/listen.c [] []
/src/irssi/src/core/utf8.h [] []
/src/irssi/src/irc/core/scram.c [] []
/src/irssi/src/fe-text/terminfo-core.h [] []
/src/irssi/src/irc/proxy/proxy.c [] []
/src/irssi/src/fe-common/irc/fe-cap.c [] []
/src/irssi/src/core/settings.h [] []
/src/irssi/src/otr/otr-module.c [] []
/src/irssi/src/core/levels.c [] []
/src/irssi/src/core/queries.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/fe-text/term.h [] []
/src/irssi/src/irc/dcc/dcc-send.c [] []
/src/irssi/src/fe-common/irc/fe-ctcp.c [] []
/src/irssi/src/common.h [] []
/src/irssi/src/irc/core/irc-queries.c [] []
/src/irssi/src/perl/textui/wrapper_buffer_line.h [] []
/src/irssi/src/fe-common/core/fe-channels.c [] []
/src/irssi/src/irc/core/servers-idle.c [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc-server.c [] []
/src/irssi/src/irc/dcc/dcc-get.h [] []
/src/irssi/src/core/core.c [] []
/src/irssi/tests/fe-text/test-paste-join-multiline.c [] []
/src/irssi/src/otr/otr-ops.c [] []
/src/irssi/src/fe-text/term.c [] []
/src/irssi/src/core/channels-setup.h [] []
/src/irssi/src/core/args.c [] []
/src/irssi/src/core/log-away.c [] []
/src/irssi/src/core/refstrings.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']
/src/irssi/src/fe-text/mainwindows.h [] []
/src/irssi/src/fe-text/mainwindows.c [] []
/src/irssi/src/fe-common/core/themes.h [] []
/src/irssi/src/lib-config/get.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c', 'src/fe-fuzz/server.c']
/src/irssi/src/fe-text/statusbar.c [] []
/src/irssi/src/irc/core/servers-idle.h [] []
/src/irssi/src/fe-common/irc/fe-common-irc.c [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc-chat-messages.c [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc-chat.c [] []
/src/irssi/src/irc/dcc/dcc-queue.c [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc.c [] []
/src/irssi/src/fe-common/irc/fe-irc-commands.c [] []
/src/irssi/src/irc/proxy/dump.c [] []
/src/irssi/src/core/nicklist.c [] []
/src/irssi/src/irc/core/servers-redirect.c [] []
/src/irssi/src/irc/notifylist/notify-ison.c [] []
/src/irssi/src/fe-common/core/command-history.c [] []
/src/irssi/src/irc/core/channels-query.c [] []
/src/irssi/src/fe-common/core/fe-exec.h [] []
/src/irssi/src/core/pidwait.c [] []
/src/irssi/src/irc/core/irc-chatnets.h [] []
/src/irssi/src/irc/core/irc.c ['src/fe-fuzz/irc/core/event-get-params.c', 'src/fe-fuzz/server.c'] ['src/fe-fuzz/irc/core/event-get-params.c', 'src/fe-fuzz/server.c']
/src/irssi/src/fe-common/core/fe-exec.c [] []
/src/irssi/src/fe-common/irc/fe-irc-server.c [] []
/src/irssi/src/fe-common/core/fe-messages.c [] []
/src/irssi/src/fe-fuzz/null-logger.c [] []
/src/irssi/src/core/nicklist.h [] []
/src/irssi/src/perl/perl-common.h [] []
/src/irssi/src/core/channels.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/network-openssl.c [] []
/src/irssi/src/fe-text/mainwindow-activity.c [] []
/src/irssi/src/core/misc.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/fe-common/core/fe-settings.c [] []
/src/irssi/src/fe-common/irc/irc-completion.c [] []
/src/irssi/src/fe-common/core/keyboard.c [] []
/src/irssi/src/fe-none/irssi.c [] []
/src/irssi/src/core/commands.c [] []
/src/irssi/src/irc/dcc/dcc-send.h [] []
/src/irssi/src/fe-common/core/fe-queries.c [] []
/src/irssi/src/fe-fuzz/irc/core/event-get-params.c ['src/fe-fuzz/irc/core/event-get-params.c'] ['src/fe-fuzz/irc/core/event-get-params.c']
/src/irssi/src/fe-common/core/chat-completion.c [] []
/src/irssi/src/core/iregex-gregex.c [] []
/src/irssi/src/irc/core/ctcp.c [] []
/src/irssi/src/otr/otr.c [] []
/src/irssi/src/core/net-nonblock.c ['src/fe-fuzz/server.c'] []
/src/irssi/src/irc/dcc/dcc-server.h [] []
/src/irssi/src/irc/notifylist/notify-setup.c [] []
/src/irssi/src/fe-common/core/themes.c ['src/fe-fuzz/fe-common/core/theme-load.c'] ['src/fe-fuzz/fe-common/core/theme-load.c']
/src/irssi/src/fe-common/irc/fe-modes.c [] []
/src/irssi/src/fe-text/textbuffer.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] []
/src/irssi/src/fe-common/irc/fe-events.c [] []
/src/irssi/src/irc/dcc/dcc-resume.c [] []
/src/irssi/src/core/signals.h [] []
/src/irssi/src/fe-text/gui-entry.c [] []
/src/irssi/src/core/net-sendbuffer.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/fe-text/irssi.c [] []
/src/irssi/src/fe-common/core/formats.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']
/src/irssi/src/fe-common/irc/notifylist/fe-notifylist.c [] []
/src/irssi/src/fe-common/irc/fe-irc-queries.c [] []
/src/irssi/src/fe-common/core/fe-ignore.c [] []
/src/irssi/src/core/chatnets.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/irc/core/netsplit.c [] []
/src/irssi/src/fe-common/irc/fe-netsplit.c [] []
/src/irssi/src/fe-text/textbuffer-view.c [] []
/src/irssi/src/irc/core/irc-cap.c [] []
/src/irssi/src/irc/core/irc-channels.c [] []
/src/irssi/src/irc/dcc/dcc-get.c [] []
/src/irssi/src/irc/core/irc.h [] []
/src/irssi/src/core/servers-setup.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/irc/core/irc-servers.h [] []
/src/irssi/src/fe-fuzz/fe-common/core/theme-load.c ['src/fe-fuzz/fe-common/core/theme-load.c'] ['src/fe-fuzz/fe-common/core/theme-load.c']
/src/irssi/src/perl/perl-fe.c [] []
/src/irssi/src/core/tls.c [] []
/src/irssi/src/irc/core/irc-expandos.c [] []
/src/irssi/src/fe-common/core/fe-ignore-messages.c [] []
/src/irssi/src/core/chat-protocols.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/channels-setup.c [] []
/src/irssi/src/fe-common/core/printtext.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']
/src/irssi/src/perl/perl-sources.c [] []
/src/irssi/src/irc/notifylist/notifylist.c [] []
/src/irssi/src/core/modules-load.c [] []
/src/irssi/src/irc/core/massjoin.c [] []
/src/irssi/src/fe-common/core/fe-expandos.c [] []
/src/irssi/tests/irc/flood/test-796.c ['src/fe-fuzz/server.c'] []
/src/irssi/src/fe-common/core/window-commands.c [] []
/src/irssi/src/fe-text/mainwindows-layout.c [] []
/src/irssi/src/core/ignore.c [] []
/src/irssi/src/fe-fuzz/irssi.c ['src/fe-fuzz/irssi.c'] ['src/fe-fuzz/irssi.c']
/src/irssi/src/irc/core/irc-commands.c [] []
/src/irssi/src/otr/key.c [] []
/src/irssi/src/core/servers.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/modules.h [] []
/src/irssi/src/irc/core/irc-chatnets.c [] []
/src/irssi/src/fe-common/core/fe-help.c [] []
/src/irssi/src/lib-config/parse.c ['src/fe-fuzz/fe-common/core/theme-load.c'] ['src/fe-fuzz/fe-common/core/theme-load.c']
/src/irssi/src/perl/perl-core.c [] []
/src/irssi/src/core/masks.c [] []
/src/irssi/src/irc/dcc/dcc-server.c [] []
/src/irssi/src/fe-text/statusbar-items.c [] []
/src/irssi/src/fe-common/irc/fe-ircnet.c [] []
/src/irssi/src/fe-text/gui-windows.c [] []
/src/irssi/src/irc/core/bans.c [] []
/src/irssi/src/core/chat-commands.c [] []
/src/irssi/src/fe-text/terminfo-core.c [] []
/src/irssi/src/fe-text/gui-readline.c [] []
/src/irssi/src/core/special-vars.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']
/src/irssi/src/irc/core/modes.h [] []
/src/irssi/src/core/expandos.c [] []
/src/irssi/src/fe-text/statusbar-config.c [] []
/src/irssi/src/fe-common/core/fe-tls.c [] []
/src/irssi/src/irc/core/irc-nicklist.h [] []
/src/irssi/src/irc/core/mode-lists.c [] []
/src/irssi/src/irc/core/channel-rejoin.c [] []
/src/irssi/src/irc/core/irc-session.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/otr/otr-fe.c [] []
/src/irssi/src/irc/core/sasl.c [] []
/src/irssi/src/core/queries.h [] []
/src/irssi/src/irc/core/irc-servers-setup.c [] []
/src/irssi/src/fe-text/term-terminfo.c [] []
/src/irssi/src/fe-text/gui-expandos.c [] []
/src/irssi/src/fe-common/core/fe-modules.c [] []
/src/irssi/src/core/nickmatch-cache.h [] []
/src/irssi/src/fe-common/core/fe-common-core.c [] []
/src/irssi/src/core/servers-setup.h [] []
/src/irssi/src/fe-common/irc/fe-events-numeric.c [] []
/src/irssi/src/fe-common/core/fe-log.c [] []
/src/irssi/src/irc/flood/flood.c [] []
/src/irssi/tests/irc/core/test-irc.c [] []
/src/irssi/src/fe-common/irc/fe-netjoin.c [] []
/src/irssi/src/fe-common/core/printtext.h [] []
/src/irssi/src/core/network.h [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc-get.c [] []
/src/irssi/src/core/wcwidth-wrapper.c [] []
/src/irssi/src/irc/dcc/dcc.c [] []
/src/irssi/tests/fe-common/core/test-formats.c [] []
/src/irssi/src/core/log.c [] []
/src/irssi/src/fe-text/textbuffer-commands.c [] []
/src/irssi/src/fe-common/irc/dcc/fe-dcc-send.c [] []
/src/irssi/src/core/misc.h [] []
/src/irssi/src/irc/dcc/dcc-autoget.c [] []
/src/irssi/src/lib-config/iconfig.h [] []
/src/irssi/src/fe-common/core/fe-server.c [] []
/src/irssi/src/fe-text/lastlog.c [] []
/src/irssi/src/fe-common/core/window-activity.c [] []
/src/irssi/src/fe-common/core/fe-recode.c [] []
/src/irssi/src/core/channels.h [] []
/src/irssi/src/fe-common/irc/fe-irc-channels.c [] []
/src/irssi/src/fe-text/gui-printtext.c [] []
/src/irssi/src/core/chatnets.h [] []
/src/irssi/src/fe-text/statusbar.h [] []
/src/irssi/src/fe-common/irc/fe-irc-messages.c [] []
/src/irssi/src/irc/core/irc-channels.h [] []
/src/irssi/src/fe-common/irc/fe-whois.c [] []
/src/irssi/src/core/window-item-rec.h [] []
/src/irssi/src/irc/flood/autoignore.c [] []
/src/irssi/src/irc/core/channel-events.c [] []
/src/irssi/src/core/line-split.c ['src/fe-fuzz/server.c'] []
/src/irssi/src/fe-common/core/window-items.h [] []
/src/irssi/src/lib-config/set.c ['src/fe-fuzz/fe-common/core/theme-load.c'] ['src/fe-fuzz/fe-common/core/theme-load.c']
/src/irssi/src/fe-text/textbuffer-formats.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] []
/src/irssi/src/fe-fuzz/server.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/capsicum.c ['src/fe-fuzz/server.c'] []
/src/irssi/src/lib-config/write.c [] []
/src/irssi/src/fe-text/textbuffer-view.h [] []
/src/irssi/src/fe-common/core/windows-layout.c [] []
/src/irssi/src/core/recode.c [] []
/src/irssi/src/otr/irssi-otr.h [] []
/src/irssi/src/perl/perl-core.h [] []
/src/irssi/src/core/write-buffer.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/irc/core/irc-core.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/irc/core/irc-servers-reconnect.c [] []
/src/irssi/src/irc/dcc/dcc-chat.c [] []
/src/irssi/src/irc/core/irc-nicklist.c [] []
/src/irssi/src/fe-common/core/hilight-text.c [] []
/src/irssi/src/irc/core/irc-servers.c ['src/fe-fuzz/server.c'] ['src/fe-fuzz/server.c']
/src/irssi/src/core/servers-reconnect.c [] []
/src/irssi/src/irc/core/irc-servers-setup.h [] []
/src/irssi/src/core/commands.h [] []
/src/irssi/src/core/servers.h [] []
/src/irssi/src/perl/perl-signals.h [] []
/src/irssi/src/fe-common/core/window-items.c ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c'] ['src/fe-fuzz/fe-common/core/theme-load.c', 'src/fe-fuzz/irssi.c']

Directories in report

Directory
/src/irssi/src/
/src/irssi/src/perl/textui/
/src/irssi/tests/fe-common/core/
/src/irssi/tests/irc/flood/
/src/irssi/src/core/
/src/irssi/src/irc/notifylist/
/src/irssi/src/fe-common/core/
/src/irssi/src/perl/
/src/irssi/src/irc/dcc/
/src/irssi/src/fe-text/
/src/irssi/src/irc/flood/
/src/irssi/src/fe-none/
/src/irssi/src/fe-common/irc/
/src/irssi/src/fe-common/irc/dcc/
/src/irssi/src/otr/
/src/irssi/tests/fe-text/
/src/irssi/src/irc/core/
/src/irssi/src/fe-common/irc/notifylist/
/src/irssi/src/irc/proxy/
/src/irssi/tests/irc/core/
/src/irssi/src/fe-fuzz/
/src/irssi/src/fe-fuzz/irc/core/
/src/irssi/src/fe-fuzz/fe-common/core/
/src/irssi/src/lib-config/