Fuzz introspector

Project overview

High level conclusions

Fuzzers reach 29.17% of all functions. Improvements should be made
Fuzzers reach 23.98% of cyclomatic complexity. Improvements could be made
Fuzzer fuzz-journald-syslog is blocked: runtime coverage only covers 13.04% of its reachable functions.
Fuzzer fuzz-journald-kmsg is blocked: runtime coverage only covers 21.53% of its reachable functions.
Fuzzer fuzz-journald-audit is blocked: runtime coverage only covers 13.58% of its reachable functions.

Reachability and coverage overview

Functions statically reachable by fuzzers
29.17%
1412/4840
Cyclomatic complexity statically reachable by fuzzers
23.98%
7787/32468
Functions covered at runtime
3679

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz-dhcp6-client ../../src/systemd/src/libsystemd-network/fuzz-dhcp6-client.c 208 69 14 31 2354 982 fuzz-dhcp6-client.c
fuzz-udev-rule-parse-value ../../src/systemd/src/udev/fuzz-udev-rule-parse-value.c 3 1 1 3 3 6 fuzz-udev-rule-parse-value.c
fuzz-time-util ../../src/systemd/src/fuzz/fuzz-time-util.c 12 1 2 4 6 24 fuzz-time-util.c
fuzz-etc-hosts ../../src/systemd/src/resolve/fuzz-etc-hosts.c 48 332 5 13 249 158 fuzz-etc-hosts.c
fuzz-compress ../../src/systemd/src/fuzz/fuzz-compress.c 11 3 2 3 11 24 fuzz-compress.c
fuzz-systemctl-parse-argv ../../src/systemd/src/systemctl/fuzz-systemctl-parse-argv.c 98 536 6 21 935 448 fuzz-systemctl-parse-argv.c
fuzz-env-file ../../src/systemd/src/fuzz/fuzz-env-file.c 13 1 2 5 15 28 fuzz-env-file.c
fuzz-fido-id-desc ../../src/systemd/src/udev/fido_id/fuzz-fido-id-desc.c 3 1 1 3 47 20 fuzz-fido-id-desc.c
fuzz-journal-remote ../../src/systemd/src/journal-remote/fuzz-journal-remote.c 110 30 12 17 812 421 fuzz-journal-remote.c
fuzz-unit-file ../../src/systemd/src/core/fuzz-unit-file.c 24 5 2 8 22 50 fuzz-unit-file.c
fuzz-bus-match ../../src/systemd/src/libsystemd/sd-bus/fuzz-bus-match.c 23 2 2 5 12 47 fuzz-bus-match.c
fuzz-dhcp-server ../../src/systemd/src/libsystemd-network/fuzz-dhcp-server.c 103 85 9 20 1116 486 fuzz-dhcp-server.c
fuzz-bus-label ../../src/systemd/src/fuzz/fuzz-bus-label.c 4 1 1 3 3 8 fuzz-bus-label.c
fuzz-nspawn-oci ../../src/systemd/src/nspawn/fuzz-nspawn-oci.c 41 332 5 14 205 131 fuzz-nspawn-oci.c
fuzz-nspawn-settings ../../src/systemd/src/nspawn/fuzz-nspawn-settings.c 26 237 5 11 142 84 fuzz-nspawn-settings.c
fuzz-dhcp-client ../../src/systemd/src/libsystemd-network/fuzz-dhcp-client.c 157 166 16 26 1612 715 fuzz-dhcp-client.c
fuzz-journald-native-fd ../../src/systemd/src/journal/fuzz-journald-native-fd.c 288 261 18 41 3070 1358 fuzz-journald-native-fd.c
fuzz-bcd ../../src/systemd/src/boot/efi/fuzz-bcd.c 11 2 4 4 177 70 fuzz-bcd.c
fuzz-varlink ../../src/systemd/src/fuzz/fuzz-varlink.c 41 6 3 7 113 116 fuzz-varlink.c
fuzz-lldp-rx ../../src/systemd/src/libsystemd-network/fuzz-lldp-rx.c 95 66 10 17 733 387 fuzz-lldp-rx.c
fuzz-udev-rules ../../src/systemd/src/udev/fuzz-udev-rules.c 85 551 8 17 844 399 fuzz-udev-rules.c
fuzz-catalog ../../src/systemd/src/fuzz/fuzz-catalog.c 13 1 3 4 12 27 fuzz-catalog.c
fuzz-calendarspec ../../src/systemd/src/fuzz/fuzz-calendarspec.c 10 1 2 4 9 21 fuzz-calendarspec.c
fuzz-json ../../src/systemd/src/fuzz/fuzz-json.c 13 1 2 6 21 28 fuzz-json.c
fuzz-xdg-desktop ../../src/systemd/src/xdg-autostart-generator/fuzz-xdg-desktop.c 67 7 5 13 394 232 fuzz-xdg-desktop.c
fuzz-netdev-parser ../../src/systemd/src/network/fuzz-netdev-parser.c 325 2627 18 70 2765 1320 fuzz-netdev-parser.c
fuzz-bus-message ../../src/systemd/src/libsystemd/sd-bus/fuzz-bus-message.c 15 3 2 5 12 31 fuzz-bus-message.c
fuzz-journald-kmsg ../../src/systemd/src/journal/fuzz-journald-kmsg.c 274 267 15 37 2790 1250 fuzz-journald-kmsg.c
fuzz-journald-audit ../../src/systemd/src/journal/fuzz-journald-audit.c 265 276 16 35 2803 1234 fuzz-journald-audit.c
fuzz-dhcp-server-relay ../../src/systemd/src/libsystemd-network/fuzz-dhcp-server-relay.c 74 113 9 17 685 315 fuzz-dhcp-server-relay.c
fuzz-network-parser ../../src/systemd/src/network/fuzz-network-parser.c 363 2589 18 75 3847 1719 fuzz-network-parser.c
fuzz-journald-native ../../src/systemd/src/journal/fuzz-journald-native.c 270 271 15 40 2976 1292 fuzz-journald-native.c
fuzz-udev-database ../../src/systemd/src/fuzz/fuzz-udev-database.c 12 2 2 4 9 25 fuzz-udev-database.c
fuzz-ndisc-rs ../../src/systemd/src/libsystemd-network/fuzz-ndisc-rs.c 62 65 6 13 532 269 fuzz-ndisc-rs.c
fuzz-link-parser ../../src/systemd/src/udev/net/fuzz-link-parser.c 55 152 8 11 291 194 fuzz-link-parser.c
fuzz-hostname-setup ../../src/systemd/src/fuzz/fuzz-hostname-setup.c 10 1 2 5 12 21 fuzz-hostname-setup.c
fuzz-journald-syslog ../../src/systemd/src/journal/fuzz-journald-syslog.c 276 265 14 39 3046 1311 fuzz-journald-syslog.c
fuzz-journald-stream ../../src/systemd/src/journal/fuzz-journald-stream.c 302 242 21 41 3199 1407 fuzz-journald-stream.c
fuzz-dns-packet ../../src/systemd/src/resolve/fuzz-dns-packet.c 103 231 8 20 1214 527 fuzz-dns-packet.c

Fuzzer details

Fuzzer: fuzz-dhcp6-client

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
10 162 dhcp6_network_bind_udp_socket call site sd_dhcp6_client_get_ifname
8 634 dhcp6_client_send_message call site client_timeout_resend
7 662 client_enter_bound_state call site client_start_transaction
6 649 client_enter_bound_state call site client_start_transaction
5 135 dhcp_identifier_set_iaid call site sd_device_new_from_ifindex
5 487 client_enter_bound_state call site client_start_transaction
4 505 client_start_transaction call site client_start_transaction
3 6 sd_dhcp6_client_new call site sd_dhcp6_client_unref
3 107 sd_dhcp6_client_add_vendor_option call site ordered_set_clear
3 177 client_receive_message call site sd_dhcp6_client_get_ifname

Functions hit (dynamic analysis based)

Covered functions
340
Functions that are reachable but not covered
37
Reachable functions
208
Percentage of reachable functions covered
82.21%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-dhcp6-client.c 4
/ 60
../../src/systemd/src/libsystemd-network/sd-dhcp6-client.c 43
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/systemd/sd-dhcp6-client.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp6-lease.c 25
../../src/systemd/src/basic/hashmap.h 5
../../src/systemd/src/basic/ordered-set.h 4
../../src/systemd/src/basic/strv.h 2
../../src/systemd/src/libsystemd-network/dhcp6-option.c 22
../../src/systemd/src/libsystemd-network/dhcp-identifier.c 2
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/basic/sparse-endian.h 4
../../src/systemd/src/basic/unaligned.h 5
../../src/systemd/src/systemd/sd-device.h 1
../../src/systemd/src/basic/in-addr-util.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/basic/string-util.h 2
../../src/systemd/src/basic/errno-util.h 1
//usr/include/x86_64-linux-gnu/bits/socket.h 1
../../src/systemd/src/libsystemd-network/dhcp6-protocol.c 3
../../src/systemd/src/basic/time-util.h 4
../../src/systemd/src/fundamental/string-util-fundamental.h 1
../../src/systemd/src/libsystemd-network/dhcp6-option.h 1
../../src/systemd/src/basic/memory-util.h 4
../../src/systemd/src/systemd/sd-dhcp6-lease.h 1
../../src/systemd/src/basic/random-util.h 1
../../src/systemd/src/basic/sort-util.h 1
../../src/systemd/src/systemd/sd-event.h 2
../../src/systemd/src/systemd/sd-dhcp6-option.h 1

Fuzzer: fuzz-udev-rule-parse-value

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Functions hit (dynamic analysis based)

Covered functions
13
Functions that are reachable but not covered
1
Reachable functions
3
Percentage of reachable functions covered
66.67%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/udev/fuzz-udev-rule-parse-value.c 1
/ 2
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-time-util

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Functions hit (dynamic analysis based)

Covered functions
31
Functions that are reachable but not covered
1
Reachable functions
12
Percentage of reachable functions covered
91.67%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-time-util.c 1
/ 10
../../src/systemd/src/basic/time-util.h 1
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-etc-hosts

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 3 LLVMFuzzerTestOneInput call site fopen64
1 17 parse_line call site log_get_max_level
1 26 in_addr_data_is_null call site log_get_max_level
1 30 parse_line call site log_oom_internal
1 32 parse_line call site log_oom_internal
1 34 parse_line call site log_oom_internal
1 36 parse_line call site log_get_max_level
1 42 parse_line call site log_oom_internal
1 45 parse_line call site log_oom_internal
1 47 parse_line call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
139
Functions that are reachable but not covered
7
Reachable functions
48
Percentage of reachable functions covered
85.42%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/resolve/fuzz-etc-hosts.c 1
/ 28
../../src/systemd/src/fuzz/fuzz.h 1
../../src/systemd/src/resolve/resolved-etc-hosts.c 6
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/fundamental/string-util-fundamental.h 1
../../src/systemd/src/shared/socket-netlink.h 2
../../src/systemd/src/basic/in-addr-util.h 1
../../src/systemd/src/basic/hashmap.h 3
../../src/systemd/src/basic/alloc-util.h 2
../../src/systemd/src/shared/dns-domain.h 1
../../src/systemd/src/basic/set.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-compress

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
4 8 LLVMFuzzerTestOneInput call site strstr
1 3 LLVMFuzzerTestOneInput call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
7
Functions that are reachable but not covered
5
Reachable functions
11
Percentage of reachable functions covered
54.55%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-compress.c 2
/ 9
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-systemctl-parse-argv

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
14 69 systemctl_dispatch_parse_argv call site telinit_parse_argv
5 166 help_boot_loader_entry call site strv_freep
5 254 streq_ptr call site log_get_max_level
2 102 systemctl_help call site colors_enabled
1 3 LLVMFuzzerTestOneInput call site log_oom_internal
1 20 halt_help call site log_oom_internal
1 22 halt_help call site colors_enabled
1 25 halt_help call site colors_enabled
1 28 halt_help call site log_assert_failed_unreachable
1 43 shutdown_help call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
474
Functions that are reachable but not covered
26
Reachable functions
98
Percentage of reachable functions covered
73.47%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/systemctl/fuzz-systemctl-parse-argv.c 1
/ 61
../../src/systemd/src/systemctl/systemctl.c 5
../../src/systemd/src/systemctl/systemctl-compat-halt.c 2
../../src/systemd/src/basic/terminal-util.h 4
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/systemctl/systemctl-compat-shutdown.c 2
../../src/systemd/src/systemctl/systemctl-sysv-compat.c 1
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/systemctl/systemctl-compat-telinit.c 2
../../src/systemd/src/systemctl/systemctl-compat-runlevel.c 2
../../src/systemd/src/fundamental/string-util-fundamental.h 3
//usr/include/x86_64-linux-gnu/bits/stdio.h 1
../../src/systemd/src/shared/output-mode.h 1
../../src/systemd/src/systemctl/systemctl-logind.c 1
../../src/systemd/src/systemctl/systemctl-util.c 2
../../src/systemd/src/basic/strv.h 2
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/basic/fd-util.h 2
../../src/systemd/src/basic/static-destruct.h 1
../../src/systemd/src/fundamental/macro-fundamental.h 1

Fuzzer: fuzz-env-file

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 1 LLVMFuzzerTestOneInput call site fopen64
1 10 LLVMFuzzerTestOneInput call site strv_free

Functions hit (dynamic analysis based)

Covered functions
48
Functions that are reachable but not covered
4
Reachable functions
13
Percentage of reachable functions covered
69.23%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-env-file.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 10
../../src/systemd/src/basic/strv.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-fido-id-desc

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Functions hit (dynamic analysis based)

Covered functions
3
Functions that are reachable but not covered
1
Reachable functions
3
Percentage of reachable functions covered
66.67%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/udev/fido_id/fuzz-fido-id-desc.c 1
/ 2
../../src/systemd/src/udev/fido_id/fido_id_desc.c 1

Fuzzer: fuzz-journal-remote

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
10 99 format_proc_fd_path call site managed_journal_file_set_offline_thread
8 43 journal_remote_get_writer call site xescape
7 180 journal_remote_handle_raw_source call site dispatch_raw_source_until_block
4 82 managed_journal_file_entry_array_punch_hole call site ERRNO_IS_NOT_SUPPORTED
4 172 remove_source call site writer_unref
3 39 writer_new call site log_oom_internal
3 55 managed_journal_file_open call site sd_event_source_get_enabled
3 129 get_source_for_fd call site writer_unref
3 133 journal_remote_add_source call site journal_remote_handle_raw_source
3 152 managed_journal_file_initiate_close call site managed_journal_file_set_offline

Functions hit (dynamic analysis based)

Covered functions
479
Functions that are reachable but not covered
36
Reachable functions
110
Percentage of reachable functions covered
67.27%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal-remote/fuzz-journal-remote.c 1
/ 62
../../src/systemd/src/journal-remote/journal-remote.c 12
../../src/systemd/src/basic/hashmap.h 3
../../src/systemd/src/journal-remote/journal-remote-write.c 6
../../src/systemd/src/basic/escape.h 1
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/set.h 1
../../src/systemd/src/basic/errno-util.h 1
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/basic/fd-util.h 2
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal-remote/journal-remote-write.h 1
../../src/systemd/src/journal-remote/journal-remote-parse.c 3
../../src/systemd/src/shared/journal-importer.h 1
../../src/systemd/src/systemd/sd-journal.h 1

Fuzzer: fuzz-unit-file

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 1 LLVMFuzzerTestOneInput call site fopen64
1 24 LLVMFuzzerTestOneInput call site manager_free

Functions hit (dynamic analysis based)

Covered functions
1238
Functions that are reachable but not covered
5
Reachable functions
24
Percentage of reachable functions covered
79.17%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/core/fuzz-unit-file.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 18
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/core/unit.h 1
../../src/systemd/src/core/manager.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-bus-match

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 14 LLVMFuzzerTestOneInput call site bus_match_parse_free
1 8 LLVMFuzzerTestOneInput call site log_oom_internal
1 19 LLVMFuzzerTestOneInput call site log_get_max_level
1 24 LLVMFuzzerTestOneInput call site sd_bus_unref

Functions hit (dynamic analysis based)

Covered functions
124
Functions that are reachable but not covered
6
Reachable functions
23
Percentage of reachable functions covered
73.91%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd/sd-bus/fuzz-bus-match.c 1
/ 20
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/systemd/sd-bus.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-dhcp-server

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
8 196 in4_addr_is_set call site dhcp_option_append
5 24 sd_dhcp_server_stop call site get_ifname
5 185 option_append call site option_append
4 45 sd_dhcp_server_attach_event call site sd_dhcp_server_configure_pool
4 122 hashmap_iterate call site sd_dhcp_server_get_ifname
4 168 option_append call site ordered_set_iterate
3 10 sd_dhcp_server_new call site sd_dhcp_server_unref
3 210 ordered_hashmap_size call site dhcp_option_append
3 328 dhcp_server_handle_message call site sd_dhcp_server_unrefp
2 2 htobe32 call site sd_dhcp_server_new

Functions hit (dynamic analysis based)

Covered functions
182
Functions that are reachable but not covered
16
Reachable functions
103
Percentage of reachable functions covered
84.47%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-dhcp-server.c 4
../../src/systemd/src/basic/sparse-endian.h 4
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
/ 28
../../src/systemd/src/libsystemd-network/sd-dhcp-server.c 30
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/systemd/sd-dhcp-server.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/basic/hashmap.h 10
../../src/systemd/src/basic/ordered-set.h 4
../../src/systemd/src/libsystemd-network/dhcp-option.c 5
../../src/systemd/src/basic/unaligned.h 2
../../src/systemd/src/libsystemd-network/dhcp-packet.c 3
../../src/systemd/src/basic/memory-util.h 1
../../src/systemd/src/basic/strv.h 1
../../src/systemd/src/basic/in-addr-util.h 1
../../src/systemd/src/libsystemd-network/dhcp-network.c 1
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/basic/time-util.h 1

Fuzzer: fuzz-bus-label

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Functions hit (dynamic analysis based)

Covered functions
8
Functions that are reachable but not covered
1
Reachable functions
4
Percentage of reachable functions covered
75.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-bus-label.c 1
/ 3
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-nspawn-oci

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 31 oci_unexpected call site sd_bus_message_seal
2 48 settings_free call site rm_rf
2 53 free_oci_hooks call site strv_free
1 1 LLVMFuzzerTestOneInput call site fopen64
1 19 streq_ptr call site strcmp
1 24 settings_new call site log_oom_internal
1 26 oci_load call site log_oom_internal
1 34 oci_load call site settings_free
1 61 oci_load call site json_variant_unref

Functions hit (dynamic analysis based)

Covered functions
287
Functions that are reachable but not covered
10
Reachable functions
41
Percentage of reachable functions covered
75.61%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/nspawn/fuzz-nspawn-oci.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 21
../../src/systemd/src/nspawn/nspawn-oci.c 2
../../src/systemd/src/basic/alloc-util.h 2
../../src/systemd/src/shared/json.h 3
../../src/systemd/src/fundamental/string-util-fundamental.h 2
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/nspawn/nspawn-settings.c 4
../../src/systemd/src/nspawn/nspawn-settings.h 1
../../src/systemd/src/shared/cpu-set-util.h 1
../../src/systemd/src/nspawn/nspawn-expose-ports.c 1
../../src/systemd/src/nspawn/nspawn-mount.c 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-nspawn-settings

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 13 settings_load call site nspawn_gperf_hash
2 30 settings_free call site rm_rf
2 35 free_oci_hooks call site strv_free
1 1 LLVMFuzzerTestOneInput call site fopen64
1 16 settings_load call site settings_free

Functions hit (dynamic analysis based)

Covered functions
196
Functions that are reachable but not covered
5
Reachable functions
26
Percentage of reachable functions covered
80.77%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/nspawn/fuzz-nspawn-settings.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 12
../../src/systemd/src/nspawn/nspawn-settings.c 5
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/nspawn/nspawn-gperf.gperf 2
../../src/systemd/src/nspawn/nspawn-settings.h 1
../../src/systemd/src/shared/cpu-set-util.h 1
../../src/systemd/src/nspawn/nspawn-expose-ports.c 1
../../src/systemd/src/nspawn/nspawn-mount.c 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-dhcp-client

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
82 207 be16toh call site client_send_request
80 116 client_initialize_time_events call site client_start
9 197 be32toh call site dhcp_identifier_set_duid_en
5 16 dhcp_client_free call site get_ifname
4 302 dhcp_lease_new call site dhcp_lease_set_client_id
3 11 sd_dhcp_client_new call site sd_dhcp_client_unref
3 71 sd_dhcp_client_set_mac call site client_stop
2 30 client_initialize call site dhcp_lease_free
2 79 client_stop call site sd_dhcp_client_get_ifname
2 99 dhcp_network_bind_raw_socket call site client_stop

Functions hit (dynamic analysis based)

Covered functions
200
Functions that are reachable but not covered
70
Reachable functions
157
Percentage of reachable functions covered
55.41%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-dhcp-client.c 4
/ 56
../../src/systemd/src/libsystemd-network/sd-dhcp-client.c 32
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/systemd/sd-dhcp-client.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp-lease.c 17
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/hashmap.h 4
../../src/systemd/src/basic/random-util.h 2
../../src/systemd/src/basic/time-util.h 3
../../src/systemd/src/libsystemd-network/dhcp-packet.c 3
../../src/systemd/src/basic/memory-util.h 1
../../src/systemd/src/basic/sparse-endian.h 4
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/libsystemd-network/dhcp-option.c 5
../../src/systemd/src/basic/strv.h 1
../../src/systemd/src/basic/ordered-set.h 1
../../src/systemd/src/libsystemd-network/dhcp-identifier.c 2
../../src/systemd/src/basic/unaligned.h 5
../../src/systemd/src/systemd/sd-device.h 1
../../src/systemd/src/basic/sort-util.h 1
../../src/systemd/src/shared/dns-domain.h 1
../../src/systemd/src/systemd/sd-dhcp-lease.h 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-journald-native-fd

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
438 250 server_dispatch_message call site dispatch_message_real
28 211 server_process_entry call site server_forward_console
23 706 client_context_release call site server_start_or_stop_idle_timer
15 119 client_context_really_refresh call site stat64
7 18 server_process_native_file call site fd_get_path
6 240 closep call site server_forward_wall
5 107 client_context_read_invocation_id call site asprintf
5 113 client_context_really_refresh call site strlen
5 147 client_context_read_log_ratelimit_burst call site safe_atou
4 26 server_process_native_file call site __fxstat64

Functions hit (dynamic analysis based)

Covered functions
244
Functions that are reachable but not covered
183
Reachable functions
288
Percentage of reachable functions covered
36.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-native-fd.c 1
/ 143
../../src/systemd/src/journal/fuzz-journald.c 1
../../src/systemd/src/journal/journald-native.c 5
../../src/systemd/src/basic/alloc-util.h 4
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/fundamental/macro-fundamental.h 1
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/journal/journald-context.c 21
../../src/systemd/src/basic/hashmap.h 12
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/fundamental/string-util-fundamental.h 3
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/journald-context.h 2
../../src/systemd/src/journal/journald-syslog.c 1
../../src/systemd/src/journal/journald-kmsg.c 1
../../src/systemd/src/journal/journald-console.c 2
../../src/systemd/src/journal/journald-wall.c 1
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/errno-util.h 2
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1
../../src/systemd/src/journal/journald-stream.c 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-bcd

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Functions hit (dynamic analysis based)

Covered functions
10
Functions that are reachable but not covered
3
Reachable functions
11
Percentage of reachable functions covered
72.73%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/boot/efi/fuzz-bcd.c 1
/ 6
../../src/systemd/src/boot/efi/bcd.c 4
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-varlink

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
8 14 LLVMFuzzerTestOneInput call site ERRNO_IS_DISCONNECT
6 23 IOVEC_INCREMENT call site ERRNO_IS_DISCONNECT
1 47 LLVMFuzzerTestOneInput call site sd_event_unref
1 49 LLVMFuzzerTestOneInput call site varlink_flush_close_unref

Functions hit (dynamic analysis based)

Covered functions
335
Functions that are reachable but not covered
6
Reachable functions
41
Percentage of reachable functions covered
85.37%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-varlink.c 5
/ 32
../../src/systemd/src/basic/errno-util.h 1
../../src/systemd/src/basic/io-util.h 1
../../src/systemd/src/systemd/sd-event.h 1
../../src/systemd/src/shared/varlink.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-lldp-rx

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
8 56 lldp_rx_receive_datagram call site sd_lldp_rx_get_ifname
7 182 lldp_rx_make_space call site lldp_rx_callback
6 69 lldp_rx_receive_datagram call site sd_lldp_rx_get_ifname
6 159 lldp_rx_callback call site lldp_rx_start_timer
6 191 sd_lldp_neighbor_unref call site lldp_rx_start_timer
5 200 lldp_rx_add_neighbor call site hashmap_remove
3 5 sd_lldp_rx_new call site sd_lldp_rx_unref
3 148 hashmap_get call site lldp_neighbor_unlink
2 209 lldp_rx_add_neighbor call site sd_lldp_rx_get_ifname
1 40 sd_lldp_rx_attach_event call site sd_event_default

Functions hit (dynamic analysis based)

Covered functions
195
Functions that are reachable but not covered
25
Reachable functions
95
Percentage of reachable functions covered
73.68%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-lldp-rx.c 2
/ 43
../../src/systemd/src/libsystemd-network/sd-lldp-rx.c 20
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/systemd/sd-lldp-rx.h 2
../../src/systemd/src/basic/hashmap.h 6
../../src/systemd/src/basic/errno-util.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/libsystemd-network/lldp-neighbor.c 10
../../src/systemd/src/libsystemd-network/lldp-neighbor.h 1
//usr/include/x86_64-linux-gnu/bits/byteswap.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/ether-addr-util.h 2
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/basic/prioq.h 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-udev-rules

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 371 rule_resolve_user call site strna
2 376 parse_token call site strna
2 397 rule_resolve_group call site strna
2 402 parse_token call site strna
1 11 udev_rules_parse_file call site __errno_location
1 14 udev_rules_parse_file call site strstr
1 17 udev_rules_parse_file call site log_oom_internal
1 19 udev_rules_parse_file call site log_oom_internal
1 27 udev_rules_parse_file call site log_oom_internal
1 30 udev_rules_parse_file call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
166
Functions that are reachable but not covered
20
Reachable functions
85
Percentage of reachable functions covered
76.47%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/udev/fuzz-udev-rules.c 1
/ 42
../../src/systemd/src/udev/udev-rules.c 22
../../src/systemd/src/basic/alloc-util.h 2
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/string-util.h 2
../../src/systemd/src/fundamental/string-util-fundamental.h 3
../../src/systemd/src/basic/glob-util.h 1
../../src/systemd/src/udev/udev-event.c 3
../../src/systemd/src/basic/strxcpyx.h 1
../../src/systemd/src/basic/memory-util.h 1
../../src/systemd/src/basic/parse-util.h 1
../../src/systemd/src/udev/udev-builtin.c 1
../../src/systemd/src/basic/hashmap.h 2
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/basic/fd-util.h 1
../../src/systemd/src/udev/udev-rules.h 1

Fuzzer: fuzz-catalog

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 8 LLVMFuzzerTestOneInput call site ordered_hashmap_free_free_free

Functions hit (dynamic analysis based)

Covered functions
112
Functions that are reachable but not covered
3
Reachable functions
13
Percentage of reachable functions covered
76.92%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-catalog.c 1
/ 10
../../src/systemd/src/basic/hashmap.h 2
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-calendarspec

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 9 LLVMFuzzerTestOneInput call site calendar_spec_free

Functions hit (dynamic analysis based)

Covered functions
45
Functions that are reachable but not covered
1
Reachable functions
10
Percentage of reachable functions covered
90.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-calendarspec.c 1
/ 8
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/shared/calendarspec.h 1

Fuzzer: fuzz-json

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 1 LLVMFuzzerTestOneInput call site fopen64
1 11 LLVMFuzzerTestOneInput call site json_variant_unref

Functions hit (dynamic analysis based)

Covered functions
101
Functions that are reachable but not covered
2
Reachable functions
13
Percentage of reachable functions covered
84.62%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-json.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 8
../../src/systemd/src/shared/json.h 2
../../src/systemd/src/basic/fd-util.h 1
../../src/systemd/src/basic/alloc-util.h 1

Fuzzer: fuzz-xdg-desktop

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 136 xdg_autostart_generate_desktop_condition call site cescape
1 16 xdg_config_parse_string call site log_oom_internal
1 32 xdg_config_parse_strv call site log_oom_internal
1 37 strv_strndup_unescape_and_push call site log_oom_internal
1 40 strv_strndup_unescape_and_push call site log_oom_internal
1 64 xdg_autostart_service_parse_desktop call site xdg_autostart_service_free
1 94 xdg_autostart_format_exec_start call site log_oom_internal
1 96 xdg_autostart_format_exec_start call site log_oom_internal
1 99 xdg_autostart_format_exec_start call site log_oom_internal
1 105 specifier_escape call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
146
Functions that are reachable but not covered
16
Reachable functions
67
Percentage of reachable functions covered
76.12%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/xdg-autostart-generator/fuzz-xdg-desktop.c 1
/ 39
../../src/systemd/src/xdg-autostart-generator/xdg-autostart-service.c 11
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/basic/strv.h 3
../../src/systemd/src/xdg-autostart-generator/xdg-autostart-service.h 1
../../src/systemd/src/fundamental/string-util-fundamental.h 3
../../src/systemd/src/basic/path-util.h 1
../../src/systemd/src/basic/escape.h 2
../../src/systemd/src/shared/specifier.h 1
../../src/systemd/src/basic/fd-util.h 2
../../src/systemd/src/shared/rm-rf.h 2
../../src/systemd/src/basic/errno-util.h 1

Fuzzer: fuzz-netdev-parser

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
193 460 route_free call site address_remove
123 67 set_free call site dhcp_pd_remove
76 324 hashmap_free call site sd_dhcp_client_unref
52 213 ordered_hashmap_iterate call site route_set_netlink_message
50 16 set_steal_first call site link_stop_engines
39 761 independent_netdev_create call site netdev_create_message
32 405 netdev_free call site link_unref
25 266 ordered_hashmap_size call site route_cancel_request
25 298 request_free call site link_free_engines
14 658 htobe32 call site sd_radv_get_ifname

Functions hit (dynamic analysis based)

Covered functions
679
Functions that are reachable but not covered
215
Reachable functions
325
Percentage of reachable functions covered
33.85%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/network/fuzz-netdev-parser.c 1
/ 91
../../src/systemd/src/network/networkd-manager.c 2
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/network/networkd-manager.h 1
../../src/systemd/src/basic/hashmap.h 16
../../src/systemd/src/basic/ordered-set.h 7
../../src/systemd/src/basic/set.h 5
../../src/systemd/src/network/networkd-link.c 12
../../src/systemd/src/libsystemd-network/sd-dhcp-client.c 9
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp-lease.c 2
../../src/systemd/src/systemd/sd-dhcp-client.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp-server.c 5
../../src/systemd/src/libsystemd-network/sd-lldp-rx.c 8
../../src/systemd/src/libsystemd-network/sd-lldp-tx.c 4
../../src/systemd/src/libsystemd-network/sd-ipv4ll.c 3
../../src/systemd/src/libsystemd-network/sd-ipv4acd.c 8
../../src/systemd/src/network/networkd-ipv4acd.c 1
../../src/systemd/src/libsystemd-network/sd-dhcp6-client.c 8
../../src/systemd/src/libsystemd-network/sd-dhcp6-lease.c 4
../../src/systemd/src/libsystemd-network/dhcp6-protocol.c 1
../../src/systemd/src/systemd/sd-dhcp6-client.h 1
../../src/systemd/src/network/networkd-dhcp-prefix-delegation.c 3
../../src/systemd/src/network/networkd-route.h 5
../../src/systemd/src/libsystemd-network/sd-radv.c 12
../../src/systemd/src/network/networkd-route.c 7
../../src/systemd/src/network/networkd-util.c 3
../../src/systemd/src/basic/in-addr-util.h 2
../../src/systemd/src/basic/string-util.h 2
../../src/systemd/src/network/networkd-route-util.c 6
../../src/systemd/src/systemd/sd-netlink.h 1
../../src/systemd/src/network/networkd-queue.c 5
../../src/systemd/src/network/networkd-ndisc.c 1
../../src/systemd/src/libsystemd-network/sd-ndisc.c 6
../../src/systemd/src/basic/fs-util.h 1
../../src/systemd/src/network/netdev/netdev.c 15
../../src/systemd/src/shared/condition.h 1
../../src/systemd/src/network/networkd-network.c 2
../../src/systemd/src/network/networkd-address.c 9
../../src/systemd/src/shared/conf-parser.h 1
../../src/systemd/src/network/networkd-nexthop.c 1
../../src/systemd/src/network/networkd-bridge-fdb.c 1
../../src/systemd/src/network/networkd-bridge-mdb.c 1
../../src/systemd/src/network/networkd-neighbor.c 1
../../src/systemd/src/network/networkd-address-label.c 1
../../src/systemd/src/network/networkd-radv.c 2
../../src/systemd/src/network/networkd-routing-policy-rule.c 1
../../src/systemd/src/network/networkd-dhcp-server-static-lease.c 1
../../src/systemd/src/network/tc/qdisc.c 1
../../src/systemd/src/network/tc/tclass.c 1
../../src/systemd/src/network/networkd-address.h 5
../../src/systemd/src/basic/time-util.h 1
../../src/systemd/src/network/networkd-link.h 2
../../src/systemd/src/network/networkd-link-bus.c 2
../../src/systemd/src/network/networkd-state-file.c 1
../../src/systemd/src/basic/strv.h 1
../../src/systemd/src/basic/sparse-endian.h 2
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/basic/ether-addr-util.h 3
../../src/systemd/src/network/networkd-wiphy.c 1
../../src/systemd/src/basic/stat-util.h 1
../../src/systemd/src/network/netdev/netdev-gperf.gperf 2
../../src/systemd/src/network/netdev/netdev.h 3
../../src/systemd/src/network/netdev/tunnel.h 10
../../src/systemd/src/network/netdev/vxlan.h 1
../../src/systemd/src/network/netdev/xfrm.h 1
../../src/systemd/src/network/networkd-queue.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-bus-message

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 14 LLVMFuzzerTestOneInput call site sd_bus_message_unref

Functions hit (dynamic analysis based)

Covered functions
168
Functions that are reachable but not covered
2
Reachable functions
15
Percentage of reachable functions covered
86.67%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd/sd-bus/fuzz-bus-message.c 1
/ 12
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/systemd/sd-bus.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-journald-kmsg

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
164 15 safe_atollu call site dispatch_message_real
145 456 ordered_hashmap_replace call site dispatch_message_real
142 313 set_steal_first call site server_flush_to_var
100 212 malloc_multiply call site system_journal_open
31 180 fclosep call site client_context_read_log_ratelimit_interval
25 633 server_dispatch_message call site dispatch_message_real
23 666 client_context_release call site server_start_or_stop_idle_timer
4 697 client_context_try_shrink_to call site client_context_free
3 739 server_done call site journal_ratelimit_free
2 663 server_done call site stdout_stream_free

Functions hit (dynamic analysis based)

Covered functions
219
Functions that are reachable but not covered
215
Reachable functions
274
Percentage of reachable functions covered
21.53%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-kmsg.c 1
/ 138
../../src/systemd/src/journal/fuzz-journald.c 1
../../src/systemd/src/journal/journald-kmsg.c 2
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/journal/journald-context.h 1
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/fundamental/string-util-fundamental.h 3
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/journald-context.c 21
../../src/systemd/src/basic/hashmap.h 12
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/errno-util.h 2
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1
../../src/systemd/src/systemd/sd-device.h 1
../../src/systemd/src/journal/journald-syslog.c 1
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/journal/journald-stream.c 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-journald-audit

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
358 291 malloc_multiply call site dispatch_message_real
239 51 server_dispatch_message call site dispatch_message_real
23 656 client_context_release call site server_start_or_stop_idle_timer
4 687 client_context_try_shrink_to call site client_context_free
3 728 server_done call site journal_ratelimit_free
2 653 server_done call site stdout_stream_free
2 692 client_context_try_shrink_to call site client_context_free
1 34 map_all_fields call site log_get_max_level
1 46 map_simple_field call site log_get_max_level

Functions hit (dynamic analysis based)

Covered functions
58
Functions that are reachable but not covered
229
Reachable functions
265
Percentage of reachable functions covered
13.58%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-audit.c 1
../../src/systemd/src/journal/fuzz-journald.c 1
/ 129
../../src/systemd/src/journal/journald-audit.c 4
../../src/systemd/src/fundamental/string-util-fundamental.h 3
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/basic/time-util.h 2
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/journal/journald-context.h 1
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/journald-context.c 21
../../src/systemd/src/basic/hashmap.h 12
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/errno-util.h 2
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1
../../src/systemd/src/journal/journald-stream.c 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-dhcp-server-relay

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 23 sd_dhcp_server_stop call site get_ifname
5 121 memcpy_safe call site dhcp_option_append_tlv
5 136 option_append call site option_append
4 116 option_append call site memcpy_safe
3 9 sd_dhcp_server_new call site sd_dhcp_server_unref
1 42 sd_dhcp_server_attach_event call site sd_event_ref
1 57 sd_dhcp_server_configure_pool call site log_assert_failed_return
1 195 dhcp_network_send_raw_socket call site __errno_location

Functions hit (dynamic analysis based)

Covered functions
72
Functions that are reachable but not covered
19
Reachable functions
74
Percentage of reachable functions covered
74.32%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-dhcp-server-relay.c 2
../../src/systemd/src/basic/sparse-endian.h 4
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/libsystemd-network/sd-dhcp-server.c 19
/ 22
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/systemd/sd-dhcp-server.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/basic/hashmap.h 4
../../src/systemd/src/basic/ordered-set.h 2
../../src/systemd/src/basic/in-addr-util.h 1
../../src/systemd/src/libsystemd-network/dhcp-option.c 8
../../src/systemd/src/basic/strv.h 1
../../src/systemd/src/basic/memory-util.h 1
../../src/systemd/src/libsystemd-network/dhcp-packet.c 2
../../src/systemd/src/libsystemd-network/dhcp-network.c 1

Fuzzer: fuzz-network-parser

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
173 16 set_steal_first call site link_stop_engines
122 526 network_free call site address_remove
79 322 hashmap_free call site sd_dhcp_client_unref
50 212 ordered_hashmap_iterate call site route_set_netlink_message
29 292 ordered_hashmap_remove call site request_unref
26 265 ordered_hashmap_size call site route_cancel_request
14 655 htobe32 call site sd_radv_get_ifname
13 190 hashmap_get call site route_remove
9 780 network_resolve_stacked_netdevs call site netdev_unrefp
8 402 hashmap_remove call site link_unref

Functions hit (dynamic analysis based)

Covered functions
967
Functions that are reachable but not covered
188
Reachable functions
363
Percentage of reachable functions covered
48.21%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/network/fuzz-network-parser.c 1
/ 96
../../src/systemd/src/network/networkd-manager.c 2
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/network/networkd-manager.h 1
../../src/systemd/src/basic/hashmap.h 18
../../src/systemd/src/basic/ordered-set.h 6
../../src/systemd/src/basic/set.h 8
../../src/systemd/src/network/networkd-link.c 12
../../src/systemd/src/libsystemd-network/sd-dhcp-client.c 9
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp-lease.c 2
../../src/systemd/src/systemd/sd-dhcp-client.h 1
../../src/systemd/src/libsystemd-network/sd-dhcp-server.c 5
../../src/systemd/src/libsystemd-network/sd-lldp-rx.c 8
../../src/systemd/src/libsystemd-network/sd-lldp-tx.c 4
../../src/systemd/src/libsystemd-network/sd-ipv4ll.c 3
../../src/systemd/src/libsystemd-network/sd-ipv4acd.c 8
../../src/systemd/src/network/networkd-ipv4acd.c 1
../../src/systemd/src/libsystemd-network/sd-dhcp6-client.c 8
../../src/systemd/src/libsystemd-network/sd-dhcp6-lease.c 4
../../src/systemd/src/libsystemd-network/dhcp6-protocol.c 1
../../src/systemd/src/systemd/sd-dhcp6-client.h 1
../../src/systemd/src/network/networkd-dhcp-prefix-delegation.c 3
../../src/systemd/src/network/networkd-route.h 8
../../src/systemd/src/libsystemd-network/sd-radv.c 12
../../src/systemd/src/network/networkd-route.c 13
../../src/systemd/src/network/networkd-util.c 3
../../src/systemd/src/basic/in-addr-util.h 4
../../src/systemd/src/basic/string-util.h 2
../../src/systemd/src/network/networkd-route-util.c 7
../../src/systemd/src/systemd/sd-netlink.h 1
../../src/systemd/src/network/networkd-queue.c 3
../../src/systemd/src/network/networkd-ndisc.c 2
../../src/systemd/src/libsystemd-network/sd-ndisc.c 6
../../src/systemd/src/basic/fs-util.h 1
../../src/systemd/src/network/netdev/netdev.c 6
../../src/systemd/src/shared/condition.h 1
../../src/systemd/src/network/networkd-network.c 7
../../src/systemd/src/network/networkd-address.c 11
../../src/systemd/src/shared/conf-parser.h 3
../../src/systemd/src/network/networkd-nexthop.c 3
../../src/systemd/src/network/networkd-bridge-fdb.c 2
../../src/systemd/src/network/networkd-bridge-mdb.c 3
../../src/systemd/src/network/networkd-neighbor.c 3
../../src/systemd/src/network/networkd-address-label.c 3
../../src/systemd/src/network/networkd-radv.c 7
../../src/systemd/src/network/networkd-routing-policy-rule.c 3
../../src/systemd/src/network/networkd-dhcp-server-static-lease.c 3
../../src/systemd/src/network/tc/qdisc.c 3
../../src/systemd/src/network/tc/tclass.c 3
../../src/systemd/src/network/networkd-address.h 5
../../src/systemd/src/basic/time-util.h 1
../../src/systemd/src/network/networkd-link.h 2
../../src/systemd/src/network/networkd-link-bus.c 2
../../src/systemd/src/network/networkd-state-file.c 1
../../src/systemd/src/basic/strv.h 2
../../src/systemd/src/basic/sparse-endian.h 2
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/basic/ether-addr-util.h 2
../../src/systemd/src/network/networkd-wiphy.c 1
../../src/systemd/src/basic/stat-util.h 1
../../src/systemd/src/network/networkd-network-gperf.gperf 2
../../src/systemd/src/basic/parse-util.h 1
../../src/systemd/src/network/netdev/netdev.h 1
../../src/systemd/src/network/netdev/macvlan.h 2
../../src/systemd/src/network/networkd-ipv6-proxy-ndp.c 1
../../src/systemd/src/network/networkd-dhcp-common.c 1
../../src/systemd/src/network/networkd-dhcp4.c 1
../../src/systemd/src/network/networkd-bridge-vlan.c 2
../../src/systemd/src/network/netdev/vrf.h 1
../../src/systemd/src/network/networkd-dhcp-server.c 1
../../src/systemd/src/network/networkd-network.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-journald-native

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
395 361 server_dispatch_message call site dispatch_message_real
61 10 server_done call site managed_journal_file_set_offline
29 328 server_process_entry call site server_forward_console
21 84 client_context_reset call site server_start_or_stop_idle_timer
18 248 client_context_really_refresh call site stat64
7 158 server_done call site journal_ratelimit_free
5 242 client_context_really_refresh call site strlen
5 276 client_context_read_log_ratelimit_burst call site safe_atou
4 72 client_context_release call site client_context_free
4 113 client_context_try_shrink_to call site client_context_free

Functions hit (dynamic analysis based)

Covered functions
245
Functions that are reachable but not covered
176
Reachable functions
270
Percentage of reachable functions covered
34.81%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-native.c 1
../../src/systemd/src/journal/fuzz-journald.c 2
/ 126
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/errno-util.h 2
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/journald-stream.c 1
../../src/systemd/src/journal/journald-context.c 21
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/basic/hashmap.h 12
../../src/systemd/src/systemd/sd-event.h 1
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/journal/journald-native.c 4
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/fundamental/string-util-fundamental.h 3
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/journald-context.h 2
../../src/systemd/src/journal/journald-syslog.c 1
../../src/systemd/src/journal/journald-kmsg.c 1
../../src/systemd/src/journal/journald-console.c 2
../../src/systemd/src/journal/journald-wall.c 1
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1

Fuzzer: fuzz-udev-database

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 11 LLVMFuzzerTestOneInput call site sd_device_unref

Functions hit (dynamic analysis based)

Covered functions
129
Functions that are reachable but not covered
3
Reachable functions
12
Percentage of reachable functions covered
75.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-udev-database.c 1
/ 10
../../src/systemd/src/basic/fd-util.h 1
../../src/systemd/src/systemd/sd-device.h 1

Fuzzer: fuzz-ndisc-rs

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
17 123 sd_ndisc_start call site ndisc_timeout
10 65 icmp6_receive call site sd_ndisc_get_ifname
8 51 ndisc_recv call site sd_ndisc_get_ifname
6 145 sd_ndisc_start call site ndisc_callback
3 5 sd_ndisc_new call site sd_ndisc_unref
2 113 ndisc_callback call site sd_ndisc_get_ifname
2 117 ndisc_recv call site sd_ndisc_router_unref
1 27 sd_ndisc_attach_event call site sd_event_default
1 153 sd_ndisc_start call site ndisc_reset
1 162 LLVMFuzzerTestOneInput call site sd_event_unref

Functions hit (dynamic analysis based)

Covered functions
136
Functions that are reachable but not covered
22
Reachable functions
62
Percentage of reachable functions covered
64.52%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/libsystemd-network/fuzz-ndisc-rs.c 4
/ 27
../../src/systemd/src/libsystemd-network/sd-ndisc.c 17
../../src/systemd/src/basic/alloc-util.h 2
../../src/systemd/src/systemd/sd-ndisc.h 2
../../src/systemd/src/basic/errno-util.h 1
../../src/systemd/src/libsystemd-network/network-common.c 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/libsystemd-network/ndisc-router.c 3
../../src/systemd/src/libsystemd-network/ndisc-router.h 1
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/basic/random-util.h 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-link-parser

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 30 null_or_empty_path call site log_get_max_level
2 40 link_load_one call site link_config_gperf_hash
2 68 link_read_wol_password_from_cred call site link_parse_wol_password
1 9 link_config_ctx_new call site link_config_ctx_free
1 33 link_load_one call site log_oom_internal
1 35 link_load_one call site log_oom_internal
1 47 link_load_one call site link_adjust_wol_options
1 60 link_read_wol_password_from_file call site log_oom_internal
1 72 link_read_wol_password_from_cred call site log_oom_internal
1 79 link_load_one call site link_config_free

Functions hit (dynamic analysis based)

Covered functions
371
Functions that are reachable but not covered
11
Reachable functions
55
Percentage of reachable functions covered
80.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/udev/net/fuzz-link-parser.c 1
/ 32
../../src/systemd/src/udev/net/link-config.c 10
../../src/systemd/src/basic/alloc-util.h 3
../../src/systemd/src/udev/net/link-config.h 1
../../src/systemd/src/shared/condition.h 1
../../src/systemd/src/basic/memory-util.h 3
../../src/systemd/src/basic/hashmap.h 1
../../src/systemd/src/basic/stat-util.h 1
../../src/systemd/src/udev/net/link-config-gperf.gperf 2
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-hostname-setup

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
1 1 LLVMFuzzerTestOneInput call site fopen64

Functions hit (dynamic analysis based)

Covered functions
24
Functions that are reachable but not covered
3
Reachable functions
10
Percentage of reachable functions covered
70.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/fuzz/fuzz-hostname-setup.c 1
../../src/systemd/src/fuzz/fuzz.h 1
/ 7
../../src/systemd/src/basic/alloc-util.h 1
../../src/systemd/src/basic/fd-util.h 1

Fuzzer: fuzz-journald-syslog

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
394 378 server_dispatch_message call site dispatch_message_real
126 170 server_process_syslog_message call site client_context_get
61 10 server_done call site managed_journal_file_set_offline
39 317 syslog_parse_identifier call site server_forward_console
33 72 client_context_release call site server_start_or_stop_idle_timer
7 158 server_done call site journal_ratelimit_free
7 297 malloc_multiply call site client_context_really_refresh
4 113 client_context_try_shrink_to call site client_context_free
4 119 hashmap_size call site client_context_free
1 305 server_process_syslog_message call site log_oom_internal

Functions hit (dynamic analysis based)

Covered functions
53
Functions that are reachable but not covered
240
Reachable functions
276
Percentage of reachable functions covered
13.04%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-syslog.c 1
../../src/systemd/src/journal/fuzz-journald.c 2
/ 131
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/errno-util.h 2
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/journald-stream.c 1
../../src/systemd/src/journal/journald-context.c 21
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/basic/hashmap.h 12
../../src/systemd/src/systemd/sd-event.h 1
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/journal/journald-syslog.c 6
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/fundamental/string-util-fundamental.h 3
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/journald-context.h 2
../../src/systemd/src/journal/journald-kmsg.c 1
../../src/systemd/src/journal/journald-console.c 2
../../src/systemd/src/journal/journald-wall.c 1
../../src/systemd/src/basic/string-util.h 1
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1

Fuzzer: fuzz-journald-stream

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
443 303 server_dispatch_message call site dispatch_message_real
16 172 client_context_really_refresh call site stat64
11 767 server_start_or_stop_idle_timer call site server_idle_handler
10 254 server_forward_kmsg call site syslog_fixup_facility
8 281 closep call site server_forward_wall
6 199 client_context_read_log_ratelimit_burst call site safe_atou
5 91 stdout_stream_save call site __errno_location
5 160 client_context_read_invocation_id call site asprintf
5 166 client_context_really_refresh call site strlen
4 190 client_context_read_log_ratelimit_interval call site safe_atou64

Functions hit (dynamic analysis based)

Covered functions
337
Functions that are reachable but not covered
165
Reachable functions
302
Percentage of reachable functions covered
45.36%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/journal/fuzz-journald-stream.c 1
/ 146
../../src/systemd/src/journal/fuzz-journald.c 1
../../src/systemd/src/journal/journald-stream.c 12
../../src/systemd/src/basic/alloc-util.h 4
../../src/systemd/src/basic/socket-util.h 1
../../src/systemd/src/basic/errno-util.h 3
../../src/systemd/src/fundamental/string-util-fundamental.h 3
//usr/include/x86_64-linux-gnu/sys/stat.h 3
../../src/systemd/src/basic/fd-util.h 4
../../src/systemd/src/basic/fs-util.h 2
../../src/systemd/src/journal/journald-context.c 22
../../src/systemd/src/basic/user-util.h 1
../../src/systemd/src/basic/process-util.h 2
../../src/systemd/src/basic/fileio.h 1
../../src/systemd/src/basic/unaligned.h 1
../../src/systemd/src/basic/parse-util.h 3
../../src/systemd/src/basic/string-util.h 2
../../src/systemd/src/basic/hashmap.h 12
../../src/systemd/src/basic/env-util.h 1
../../src/systemd/src/journal/journald-context.h 2
../../src/systemd/src/journal/journald-syslog.c 1
../../src/systemd/src/journal/journald-kmsg.c 1
../../src/systemd/src/journal/journald-console.c 2
../../src/systemd/src/journal/journald-wall.c 1
../../src/systemd/src/journal/journald-server.c 34
../../src/systemd/src/basic/time-util.h 2
../../src/systemd/src/journal/journald-rate-limit.c 7
../../src/systemd/src/basic/siphash24.h 1
../../src/systemd/src/basic/util.h 1
../../src/systemd/src/basic/audit-util.h 1
../../src/systemd/src/systemd/sd-id128.h 1
../../src/systemd/src/journal/managed-journal-file.c 13
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/chattr-util.h 1
../../src/systemd/src/shared/copy.h 1
../../src/systemd/src/journal/managed-journal-file.h 1
../../src/systemd/src/basic/format-util.h 1
../../src/systemd/src/shared/uid-alloc-range.h 1
../../src/systemd/src/basic/io-util.h 1
../../src/systemd/src/systemd/sd-event.h 1

Fuzzer: fuzz-dns-packet

Call tree overview

The following is the call tree with color coding for which functions are hit/not hit. This info is based on the coverage achieved of all fuzzers together and not just this specific fuzzer. This should change in the future to be per-fuzzer-basis.

For further technical details on what the call tree overview is, please see the Glossary .

Full calltree

The following link provides a visualisation of the full calltree overlayed with coverage information: full calltree

For futher technical details on how the call tree is made, please see the Glossary .

Fuzz blockers

The followings nodes represent call sites where fuzz blockers occur

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
3 83 dns_packet_extract_question call site dns_question_unref
3 278 dns_packet_extract_answer call site dns_answer_unref
2 264 dns_answer_add call site dns_resource_record_unref
1 3 dns_packet_new call site log_get_max_level
1 17 dns_packet_size_max call site realloc
1 37 dns_packet_extract_question call site log_oom_internal
1 76 dns_packet_extract_question call site dns_resource_key_unref
1 80 dns_packet_extract_question call site set_free
1 224 dns_resource_key_equal call site dns_resource_key_unref
1 246 dns_packet_extract_answer call site log_assert_failed

Functions hit (dynamic analysis based)

Covered functions
173
Functions that are reachable but not covered
10
Reachable functions
103
Percentage of reachable functions covered
90.29%
NB: The sum of covered functions and functions that are reachable but not covered need not be 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 our of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files hit

filename functions hit
../../src/systemd/src/resolve/fuzz-dns-packet.c 1
../../src/systemd/src/resolve/resolved-dns-packet.c 25
/ 24
../../src/systemd/src/fundamental/macro-fundamental.h 1
../../src/systemd/src/resolve/resolved-dns-packet.h 4
../../src/systemd/src/basic/memory-util.h 1
../../src/systemd/src/basic/sparse-endian.h 2
//usr/include/x86_64-linux-gnu/bits/byteswap.h 2
../../src/systemd/src/resolve/resolved-dns-question.c 4
../../src/systemd/src/basic/set.h 4
../../src/systemd/src/basic/alloc-util.h 2
../../src/systemd/src/basic/unaligned.h 2
../../src/systemd/src/resolve/resolved-dns-rr.c 12
../../src/systemd/src/resolve/dns-type.c 3
../../src/systemd/src/resolve/resolved-dns-rr.h 3
../../src/systemd/src/resolve/resolved-dns-question.h 1
../../src/systemd/src/resolve/resolved-dns-answer.c 6
../../src/systemd/src/basic/utf8.h 1
../../src/systemd/src/resolve/resolved-dns-answer.h 3
../../src/systemd/src/basic/hashmap.h 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 reaches a high amount of 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
manager_setup /work/build/../../src/systemd/src/network/networkd-manager.c 1 ['struct.Manager *'] 23 0 153 34 15 1507 0 10318 7286
udev_event_execute_rules /work/build/../../src/systemd/src/udev/udev-event.c 6 ['struct.UdevEvent *', 'int ', 'size_t ', 'int ', 'struct.Hashmap *', 'struct.UdevRules *'] 13 0 324 69 28 262 0 1688 1421
verb_show /work/build/../../src/systemd/src/systemctl/systemctl-show.c 3 ['int ', 'char **', 'char *'] 6 0 527 113 43 167 0 1099 952
server_init /work/build/../../src/systemd/src/journal/journald-server.c 2 ['struct.Server *', 'char *'] 23 0 1234 249 92 436 0 2471 689
verb_enable /work/build/../../src/systemd/src/systemctl/systemctl-enable.c 3 ['int ', 'char **', 'char *'] 6 0 948 194 76 134 0 683 467
builtin_net_id /work/build/../../src/systemd/src/udev/udev-builtin-net_id.c 5 ['struct.sd_device *', 'struct.sd_netlink **', 'int ', 'char **', 'N/A'] 5 0 908 212 82 115 0 677 443
bus_method_describe /work/build/../../src/systemd/src/network/networkd-manager-bus.c 3 ['struct.sd_bus_message *', 'char *', 'struct.sd_bus_error *'] 8 0 134 26 10 102 0 534 364

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

Functions statically reachable by fuzzers
58.68%
2840/4840
Cyclomatic complexity statically reachable by fuzzers
59.78%
19409 / 32468

All functions overview

The status of all functions in the project will be as follows if you implement fuzzers for these functions

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

Runtime coverage analysis

This section gives analysis based on data about the runtime coverage information

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

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered
sd_event_source_set_priority 101 17 16.83
source_free 52 9 17.30
process_child 80 11 13.75
parse_timestamp 57 9 15.78
read_full_file_full 77 14 18.18
safe_fork_full 188 28 14.89
errno_to_bus_error_const 56 6 10.71
sd_bus_message_appendv 200 38 19.0
bus_message_close_struct 117 11 9.401
bus_message_close_header 59 10 16.94
bus_slot_disconnect 138 21 15.21
bus_socket_auth_verify_client 95 8 8.421
sd_bus_call 141 19 13.47
bus_attach_io_events 53 6 11.32
table_add_many_internal 273 52 19.04
table_data_size 76 13 17.10
table_data_format 401 38 9.476
pager_open 184 8 4.347
chattr_full 115 17 14.78
uname_architecture 130 20 15.38
log_struct_internal 92 8 8.695
open_extension_release 147 28 19.04
unit_file_build_name_map 212 23 10.84
bpf_firewall_supported 118 19 16.10
unit_compare_memory_limit 90 11 12.22
manager_varlink_send_managed_oom_update 58 7 12.06
process_deps 70 13 18.57
mount_add_default_dependencies 56 7 12.5
unit_dependency_from_unique_atom 130 16 12.30
unit_merge 66 9 13.63
get_path 194 22 11.34
dhcp_option_append 70 11 15.71
oci_hooks_array 56 8 14.28
client_context_read_extra_fields 87 11 12.64
json_buildv 927 101 10.89
fd_is_mount_point 131 16 12.21
files_add 105 14 13.33
audit_type_to_string 97 5 5.154
dns_name_apply_idna 117 5 4.273